我正在开发一个应用程序,它有两个目标,一个是企业内部分发,另一个是Appstore。有两个Apple dev帐户,一个是enterprise(用于企业目标),另一个是Appstore的标准帐户。
我使用的内部目标只用于测试目的(我有很多测试设备,所以我使用它)。我有一个Appstore目标的生产推送通知证书,我还想为内部目标添加一个新证书。我很好奇这对我的Appstore目标是否会有问题?
所以我的问题是:我可以有两个沙盒和生产apn证书一个是Appstore的,另一个是内部的?通知会混合吗?
最佳答案
没有专门用于处理同一项目中的单独目标的官方APNs文档,因为APNs与您的项目/目标设置无关。
您可以在Setting Up a Remote Notification Server中阅读,
远程通知的传递涉及几个关键组件:
您公司的服务器(称为提供商服务器)
苹果推送通知服务(APNs)
用户的设备
你的应用程序(在用户设备上运行)。
上面列表中的每一项都由
Apple推送通知服务(生产或沙盒/开发):用于从服务器触发APN的url
用户设备:当应用程序registers for remote notification
你的应用程序(在用户设备上运行):bundle id和用于运行该应用程序的配置文件(dev/appstore/adhoc/inhouse)
您公司的服务器:APNs certificate you create,在dev portal中为您绑定id(如上所述),并用于触发对特定设备的远程通知
正如您所看到的,对于哪个服务器可以触发哪个远程通知,或者如何设置应用程序代码、项目或目标没有限制。
对于上述所有条件的正确组合,单个服务器(甚至是使用curl
的命令行中的开发人员计算机)都可以触发推送通知。您需要确保使用正确的证书来获得应用程序的正确版本。例如,如果将内部应用程序的APNs证书与AppStore应用程序的设备令牌一起使用,则会失败等。
许多开发人员(包括我自己)已经触发了从命令行到同一个应用程序的多个版本的推送通知(push notification),并有单独的目标,而且它可以工作。
关于ios - 使用两个生产APN证书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57800963/