2016-02-22 14 views
2

我遇到了以前使用分發概要文件簽名的.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工具,結果相同。

+0

這與appium有什麼關係?如果不是,我們應該更換標籤嗎? – nullpointer

+0

該應用程序是否有任何嵌入式框架或擴展?你可能也需要辭職。 – Mats

+0

@Mats我試圖像[這裏](https://techblog.badoo.com/blog/2015/02/09/code-signing-and-distributing-swift/)辭職,但結果相同。這太奇怪了,因爲我曾經管理過一次辭職構建,而且這次看起來我必須錯過一些步驟。 – Nadarian

回答

0

你必須簽署的.app

codesign -f -s 「codeSigningCertificateName「 applicationName.app/Frameworks/* 

注前辭職框架:

如果使用相同的證書上面這一步是沒有必要辭職的。應用程序。

+0

我試過這個,但是對我來說,它仍然在啓動時崩潰,但是完全相同的錯誤 - 映射文件沒有與主進程相同的組標識符。任何想法還有什麼可以嘗試? – SaiyanGirl

+0

你簽了所有的框架嗎?你用*通配符來試試? –

+0

是的,我做到了。我只有一個框架,但我嘗試使用通配符而沒有。我發佈了一個問題,顯示了崩潰的整個堆棧軌跡 - 如果你有時間,你能否看看它,看看你是否還有其他可以做錯的事情?謝謝你的建議! – SaiyanGirl

相關問題