我遇到了以前使用分發概要文件簽名的.ipa文件的退出問題。儘管應用程序通過iTunes成功安裝,但它在啓動時崩潰。我需要開發人員簽名的二進制文件啓動appium測試,但我沒有源代碼,只有ipa文件。因此,我按照此步驟使用我的個人資料簽名。將分發中的.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有什麼關係?如果不是,我們應該更換標籤嗎? – nullpointer
該應用程序是否有任何嵌入式框架或擴展?你可能也需要辭職。 – Mats
@Mats我試圖像[這裏](https://techblog.badoo.com/blog/2015/02/09/code-signing-and-distributing-swift/)辭職,但結果相同。這太奇怪了,因爲我曾經管理過一次辭職構建,而且這次看起來我必須錯過一些步驟。 – Nadarian