为啥启用推送的权利文件只包含开发密钥?
Posted
技术标签:
【中文标题】为啥启用推送的权利文件只包含开发密钥?【英文标题】:Why does an entitlements file with push enabled only contain a development key?为什么启用推送的权利文件只包含开发密钥? 【发布时间】:2017-03-26 15:51:09 【问题描述】:为应用 ID 启用推送通知时,必须同时为开发和生产启用它。
但是,权利文件仅包含 APS 密钥的“开发”值,而不是“开发”和“生产”值:
如果制作了生产存档,然后检查 .ipa 中的权利文件,它包含 apn 键的“开发”值,而不是“生产”值。 但是,如果此存档随后被导出用于临时分发,则生成的 .ipa 中的权利文件仍然是“开发”。 这是为什么呢?
【问题讨论】:
存档时,导出AppStore或上传时会自动选择正确的环境。 我正在创建一个生产 .ipa via 存档。 但是您使用的是 AppStore 证书还是 adhoc? adhoc,但 adhoc 的全部意义在于在 App Store 之前启用测试。因此,大概它肯定会产生相同的结果。 ***.com/questions/12447025/… 【参考方案1】:不要查看 Xcode 项目中的权利文件。不要查看存档中的权利文件。唯一重要的是您在从存档导出以制作临时文件时获得的权利文件。它将具有正确的权利。
【讨论】:
它是一样的。我创建了一个实现,然后在生成的 .xcarchive 文件中查看了生成的 .ipa ,其中 aps-environment 设置为开发。接下来我选择导出存档并选择临时分发。然后我查看了该导出产生的 .ipa,其中 aps 环境也设置为开发。(在方案中,存档设置为发布,它没有被意外设置为调试) 将临时分布式应用程序加载到您自己的设备上。有用吗?以上是关于为啥启用推送的权利文件只包含开发密钥?的主要内容,如果未能解决你的问题,请参考以下文章