簡體   English   中英

ERROR ITMS-90046使用xctool / xcodebuild與XCode Archive的成功

[英]ERROR ITMS-90046 using xctool / xcodebuild vs XCode Archive's success

我有一個命令行腳本,用於編譯,存檔並將我的ios構建提交給ITC以進行TestFlight部署。 它們運行良好,但我最近遇到了一個問題,試圖在我的工作項目中使用嵌入式框架。 我的腳本成功編譯和歸檔項目,但由於嵌入式二進制沖突而導致ITC簽名錯誤。

xctool -workspace $BASE_DIR/$PROJECT_NAME -scheme $SCHEME -configuration $CONFIG clean archive -archivePath ./$PRODUCT_NAME.xcarchive
xcodebuild -exportArchive -archivePath ./$PRODUCT_NAME.xcarchive -exportPath $PRODUCT_NAME -exportFormat ipa -exportProvisioningProfile "$DIST_PROVISIONING_PROFILE_NAME"

# result is successful, with .ipa file generated

編譯成功后,我的腳本會嘗試上傳到ITC,並使用以下msg失敗。 如果我嘗試使用Application Loader工具將生成的IPA文件上傳到ITC,則會收到相同的消息。

錯誤ITMS-90046:“無效的代碼簽名權利。您的應用程序包的簽名包含iOS上不支持的代碼簽名權利。具體而言,'Payload / Product中關鍵'application-identifier'的值'XXXXXXXXX.com.domain.Product'不支持.app / Frameworks / Charts.framework / Charts'。該值應該是以TEAMID開頭的字符串,后跟一個點'。',后跟一個包標識符。

我的項目或設置中沒有使用應用程序標識符字符串,我可以通過全局搜索找到它。

額外信息

com.domain.Product將是我項目的主要bundleIdentifier,它具有為其生成的分發證書和配置文件。 沒有嵌入式二進制文件可以正常工作。 “圖表”嵌入式項目具有bundleIdentifier,但團隊在“信息”選項卡中設置為“無”,並且簽名設置為“自動”。 由於它是一個嵌入式二進制/框架,我假設它沒有獨立簽名。 使用Xcode的存檔時,它被列為主項目的子集,沒有獨立的標識符或權利。

我還嘗試為嵌入式二進制文件創建一個名為“com.domain.ProductCharts”的獨立appId和分發配置文件,並正確設置項目。 這不會改變錯誤。

我進一步嘗試將嵌入式二進制文件的項目設置為使用與父項目相同的bundleIdentier和設置,但這不會更改錯誤。

為什么xctool / xcodebuild無法正確編譯並簽名以通過ITC,而原生Archiver可以?

目前,我遇到了我認為xcodebuild命令中的一個類似於此的錯誤,我修復它的方法是在項目設置中設置provisioning profile 嘗試更新項目並再次運行構建。

有關該問題的調查如下: https//forums.developer.apple.com/thread/14378

但其他人報告了associated domains問題:

所以問題: Apple Store提交失敗,錯誤ITMS-90046,但Associated Domains不在權利之中

什么是你的操作系統,XCode ......等等?

只是猜測:如果您使用命令行,可能需要在Entitlements.plist中指定application-identifier 這里https://developer.apple.com/library/ios/qa/qa1710/_index.html在“Xcode的現代版本中”中說明了這一點。

你說:

他們工作得很好,但我最近遇到了一個問題......

你有沒有創建一個新的配置文件,現在有兩個? 還是兩個證書? 以下是有關如何檢查您的權利的說明 也許這有幫助。

為嵌入式框架創建.entitlements只能解決Xcode 7.x中的問題。 在版本8.x中,問題仍然存在。

暫無
暫無

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

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