我们已经从我们的供应商那里收到了使用开发配置文件签署的IPA,以测试Prod Push消息,我们使用AdHoc配置文件手动重新签署了IPA。
该应用程序在设备上安装并运行正常,但无法注册Push Messaging。
这是我们所做的(遵循此https://coderwall.com/p/cea3fw):
解压缩app.ipa
rm -rf Payload / MyApp.app / _CodeSignature /
cp~ / Downloads / AdHoc.mobileprovision Payload / MyApp.app / embedded.mobileprovision
codesign -f -s" iPhone发行版:公司证书" --resource-rules Payload / MyApp.app / ResourceRules.plist Payload / MyApp.app
zip -qr app-resigned.ipa Payload /
Sideload to device,app启动,但无法注册推送。
从那时起,供应商向我们发送了一个xacrchive文件,我们可以通过xcode成功导出签名,但我们仍然很好奇为什么代码签名没有在IPA上工作。
答案 0 :(得分:1)
这是为了将我的评论封装为答案 - 解决方案是使用Entitlements.plist文件将aps-environment权利强制转换为.app构建的文件。
这在某些情况下可能是必要的,这里有一个例子,当使用Xcode机器人构建系统失败进行涉及推送的构建时:
答案 1 :(得分:0)
在Martin H的帮助下,在原始答案的评论中回答。
回顾一下: 当应用程序使用开发人员配置文件签名时,您需要在使用分发配置文件进行重新签名时添加权利。