【发布时间】:2012-10-11 15:40:28
【问题描述】:
我有一个使用推送通知的应用,我正在尝试将其分发给测试人员进行测试。
如果我创建了一个通过 iTunes 安装的 ad-hoc 发行版,那么除了推送通知之外一切都正常,推送通知永远不会到达。 但如果应用是使用 XCode 安装的,那么推送通知确实会到达。
当我使用 XCode 构建安装时,我将 XCode 中的代码签名身份设置为我的开发配置文件。当我为临时分发构建时,我将 XCode 中的代码签名身份设置为构建存档时的临时分发配置文件,然后使用临时配置文件再次签署存档以进行分发(我发现这是唯一的组合这将允许通过 iTunes 安装而不会出现错误消息)。
所有设备都已添加到临时分发配置文件和苹果推送配置文件(以及团队配置配置文件),配置文件已在 XCode 中更新和刷新。 即使使用我自己的 iPhone,如果我使用 XCode 而不是使用 iTunes 安装,我也可以获得推送通知。
我是否使用不正确的配置文件签署临时分发,如果是,配置文件的正确组合是什么? 为什么推送通知不适用于临时分发但在通过 XCode 安装应用程序时会起作用,还有其他原因吗?
这些是使用的配置文件:
1) Apple push profile which has an App id of abcdef.com.company.mno
2) Project Development profile which has an App id of abcdef.com.company.mno
3) iOS Team provisioning profile which has an app id of abcdef.*
4) AdHoc Distribution profile which has an app id of abcdef.com.company.mno
5) My developer profile which has an app id of abcdef.com.company.mno
** 自从第一次发布此内容后,我尝试使用 abcdef.com.company.mno 应用程序 ID 创建新的 iOS 团队配置文件,但没有任何区别 **
abcdef.com.company.mno 应用 ID 显示开发推送通知已启用(这是正确的,我们尚未使用生产推送)。它的开发推送 SSL 证书也显示为已启用。
代码签名身份是:第一张图片我用于使用 XCode 安装/运行的图片,第二张图片用于构建临时分发的存档。
XCode 中 iPhone 分发配置文件的描述为:“Ad Hoc distribution profile (for bundle identifiers com.company.mno)”。
【问题讨论】: