簡體   English   中英

手動簽名並壓縮的iOS應用不會上傳到App Store

[英]iOS app manually signed and zipped does not upload to App Store

我已經奮斗了幾天了...

我有一個在AdHoc中運行良好的應用程序,現在我正在向客戶提供.ipa,以便上傳到他們的私人商店。

我正在使用XCode6.4和Swift,並通過xCode存檔。

在第一次嘗試期間,應用程序因以下日志而崩潰:

Library not loaded: @rpath/libswiftCore.dylib
Referenced from:  /private/var/mobile/Containers/Bundle/Application/F223C4F8-4CBA-4474-9809-79D80C5AB11F/appname.app/appname
Reason: no suitable image found.  Did find:
/private/var/mobile/Containers/Bundle/Application/F223C4F8-4CBA-4474-9809-79D80C5AB11F/appname.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/mobile/Containers/Bundle/Application/F223C4F8-4CBA-4474-9809-79D80C5AB11F/appname.app/Frameworks/libswiftCore.dylib'
Dyld Version: 353.12

經過多次嘗試解決此問題后,我嘗試手動對應用程序進行簽名。 解壓縮“ somename.ipa”時,我得到一個帶有3個子文件夾的“ somename”文件夾:有效負載,SwiftSupport,符號。 我跑了:codesign --force --verbose --sign'iPhone Distribution:certificate'appname.app/

然后:codesign --force --verbose --sign'iPhone Distribution:certificate'appname.app/Frameworks/*

生成的CodeResources文件看起來與以前完全相同。 因此,我以另一種方式進行了操作-首先對框架進行簽名,然后對應用進行簽名。 這次我得到了一個CodeResources文件,該文件的框架文件具有不同的哈希值,其余文件具有與以前相同的哈希值。

現在,我壓縮了“ somename”文件夾,並將擴展名從“ .zip”更改為“ .ipa”。 注意它仍然具有相同的結構。

現在,當客戶嘗試上載時,他們將得到以下回答:“提交錯誤:此版本未通過自動驗證致命錯誤:-應用程序目錄結構應為Payload / appname.app /”

.ipa確實包含該目錄,我對它進行了兩倍和三重檢查,以及(新的)Swift頂層目錄和符號文件目錄。

不知道該去哪里...

我正在使用以下腳本命令以新的規定辭職應用程序:

#Pulls the entitlements out of the provision profile
/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i $PROVISION_PATH/$ADHOC_PROVISION) > entitlements.plist

#Remove old CodeSignature
rm -rf Payload/$1.app/_CodeSignature Payload/$1.app/CodeResources

# Replace embedded mobile provisioning profile
cp $PROVISION_PATH/$ADHOC_PROVISION Payload/$1.app/embedded.mobileprovision

# Re-sign
/usr/bin/codesign --verify -f --sign "iphone distribution" --resource-rules=Payload/$1.app/ResourceRules.plist --entitlements entitlements.plist Payload/$1.app

# Re-package
zip -qr $1.adhoc.ipa Payload

哪里

$ 1-應用程序名稱

$ PROVISION_PATH / $ ADHOC_PROVISION-新的配置文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM