【发布时间】:2016-02-22 10:34:55
【问题描述】:
我在退出之前使用分发配置文件签名的 .ipa 文件时遇到了问题。尽管该应用程序通过 iTunes 成功安装,但它在启动时崩溃。我需要开发人员签名的二进制文件才能对其进行 appium 测试,但我没有源代码,只有 ipa 文件。因此,我按照以下步骤在我的个人资料上签名。
unzip distrBuild.ipa
cp myProvisioningProfile.mobileprovision Payload/Application.app/embedded.mobileprovision
codesign -f -s "iPhone Developer: Nad Arian" --entitlements entitlements.plist Payload/Application.app
我的 entitlements.plist 如下:
<dict>
<key>keychain-access-groups</key>
<array>
<string>34XXXXXXXX.*</string>
</array>
<key>get-task-allow</key>
<true/>
<key>application-identifier</key>
<string>34XXXXXXXX.com.myapp.resigned</string>
<key>com.apple.developer.team-identifier</key>
<string>34XXXXXXXX</string>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>
问题在于,尽管应用程序通过 iTunes 成功安装,但它在启动时崩溃并显示以下日志:
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] process has team identifier 34XXXXXXXX: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] mapped file has team identifier Q6YYYYYYYY: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] mapped file does not the same team identifier as main process: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
我尝试将 --deep 标志与 codesign 一起使用,但问题仍然存在。配置文件有问题还是权利错误?为什么/在哪里仍然存储旧的团队标识符?我也使用了 iResign 工具,结果相同。
【问题讨论】:
-
这和appium有什么关系?如果没有,我们应该更改标签吗?
-
该应用程序是否有任何嵌入式框架或扩展?您可能还需要辞去他们的职务。
-
@Mats 我试图像here 一样辞职,但结果相同。这太奇怪了,因为我曾经设法放弃了一个构建,看来我这次一定错过了一些步骤。