摘要:如果我的应用程序是通过 XCode 安装的,推送通知总是可以正常工作,但如果通过 iTunes 安装,那么它们是否工作取决于用于签署分发的配置文件。但是一些曾经有效的配置文件组合不再有效,而有些现在无效。
我的主要问题是应该使用哪种配置文件组合来签署使用推送通知的临时分发,次要问题是为什么我观察到随着时间的推移行为不一致。
详细信息:我正在开发一个使用 APNs 的应用程序,并且当应用程序作为临时应用程序分发并通过 iTunes 安装时,在获取通知到达时遇到问题。这些问题显然与它没有使用正确的配置文件签名有关,但过去几周的一些观察让我对我应该使用哪些配置文件来签署分发感到困惑。
我一直认为在需要签名的两个阶段都应该使用 ad-hoc 配置文件 - 首先在构建存档时将其设置为 XCode 中的代码签名身份,然后对分发进行签名。我一直在这样做并且它一直在工作 - 设备已经能够接收推送通知。
几周前,设备停止接收推送通知,尽管如果构建使用我的开发配置文件签名并通过 XCode 安装,则能够接收它们,但只有 ad-hoc 发行版停止接收它们。经过几天的尝试,我最终删除了推送和临时配置文件并创建了新的配置文件,一切都恢复正常了……直到几天前发生了同样的事情。
我再次创建了一个新的临时配置文件,但我仍然无法让临时分发接收推送通知(尽管如果应用程序是通过 XCode 安装的,设备仍会再次接收它们)。最终,我从使用 ad-hoc 配置文件签署发行版更改为使用 Apple 推送配置文件,事情又开始工作了。所以现在我很困惑:
- am I supposed to sign ad-hoc distrubtions using a) the ad-hoc profile for the archive and then ad-hoc profile again when signing the distribtion of the archive or b) the ad-hoc profile for the archive and the push profile when signing the distribution of the archive?
对于 XCode 安装,我将代码签名身份设置为我的开发配置文件。对于临时分发,我将存档的代码签名身份设置为临时配置文件,然后在存档的分发部分再次使用临时或推送对其进行签名。OR 的存在是因为有时一种组合有效,有时另一种组合有效,因此我的整个问题是它应该是哪种组合以及为什么我观察到哪种组合有效而哪种无效的不一致。
谢谢
编辑:这是一个配置文件列表,即如果我登录到 Apple 配置门户,然后单击配置选项卡,然后单击开发选项卡,它会列出这些:
1) Apple Push Profile - 需要启用 APNs
2) NNN Development profile(其中NNN是项目名称)
3) iOS 开发简介
4) iOS 团队配置文件
如果我单击配置选项卡,然后在分发选项卡上列出这些:
1) 临时
在我几个月来对书籍、文档、论坛的所有广泛搜索中,我还没有找到明确的解释,说明在什么情况下应该使用上述哪些组合以及哪些考虑推送通知。一个问题是大多数文档和示例都没有考虑推送通知,这是一个关键的遗漏,因为如果没有以正确的顺序正确组合配置文件,应用程序可以安装到设备上,但永远不会收到推送通知。