簡體   English   中英

Apple Store提交失敗,錯誤為ITMS-90046,但Associated Domains不屬於權利范圍

[英]Apple Store submit fails with Error ITMS-90046, but Associated Domains is not among entitlements

當我第一次構建我的app&Watchkit應用程序時,我啟用了“Associated Domains”功能。 我已經在watchkit擴展和配套應用程序的“功能”面板中禁用了它,並確認密鑰已從每個info.plist中刪除。

我已經轉到Apples的“證書,標識符和配置文件”頁面,為每個Watchkit應用程序,擴展程序和應用程序選擇了應用程序ID,未選中“關聯域”,重新生成每個的配置文件,下載並安裝它們。

我已完成Ctrl-Shift-Command-K完全清理,重啟和重建。 在對appstore進行總結時,我收到以下錯誤消息。

我在xcode中完成了項目搜索,無法找到com.apple.developer.associated-domains鍵。 我搜索了構建目錄,nada。 我不相信這個密鑰實際上存在於我的代碼中,但iTunesConnect似乎認為它在那里並設置為'*'。

來自Xcode Organizer的錯誤消息itms-90046的屏幕截圖

要解決此問題:

  • 登錄Apple開發人員中心
  • 轉到證書,標識符和配置文件。
  • 轉到標識符/應用ID。
  • 選擇您的應用ID和編輯
  • 取消選中關聯域

您必須重新生成與App ID關聯的任何配置文件。 出於某種原因,我的應用程序檢查了“Associated Domains”。 取消選擇它使AppStore提交工作。

在此輸入圖像描述

在此輸入圖像描述

我認為這是一個錯誤。

我通過簡單地在隨附應用程序和Watchkit擴展的Entitlements.plist中插入一個新的Array項來管理解決方法:“com.developer.apple.associated-domains”和webcredentials:string的有效域。 雖然這沒有實際效果,因為我的配置文件和應用程序或擴展程序的功能選項卡都沒有為關聯域啟用,但它停止了itunesconnect上的任何代碼掃描程序絆倒了不存在的鍵的“*”無效值。

Entitlements.plist的屏幕截圖

如果要使用關聯域,請確保Entitlements.plist > com.developer.apple.associated-domains每個條目都使用以下格式:

<service>:<fully qualified domain>[:port number]

例如。

webcredentials:www.example.com
applinks:www.example.com
activitycontinuation:www.example.com

請記住[:port number]是可選的,但<service><fully qualified domain> 是必需的!

從應用程序提交失敗錯誤我理解的可能是您的配置文件仍然啟用了“關聯域”並且在您的應用程序“權利”文件中丟失了它。

所以很明顯會有兩種情況。

場景1 :您是否要支持“關聯域”。 應該為“通用鏈接”等功能啟用此功能。

請參考以下鏈接:

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html

在這種情況下,請不要手動編輯“授權”文件。 而是按照步驟。

1 在Xcode中選擇您的項目文件。

2 在“目標”下選擇適當的目標

3 選擇“常規”旁邊的“功能”

4 您可以看到“Associated Domains”的選項,如下所示。

在此輸入圖像描述

5 啟用“ 關聯域 ”。 如果您啟用“ 關聯域 ”,Xcode將要求您登錄開發人員帳戶,它將與您的AppId和配置文件同步。

如上面的屏幕截圖所示,它將在啟用“ Associated Domains ”時執行兩項操作

  • 將關聯域權利添加到您的權利文件。
  • 將關聯的域功能添加到您的App ID中。

如果從Xcode和開發者帳戶同步您的設置時出現任何問題,請選中以下復選框已啟用。

在此輸入圖像描述

還要確保您的In House和App Distributions配置文件正確更新並同步。

大多數工作都是由Xcode本身完成的,我們只需要傾聽和理解。

場景2 :您的應用程序不需要“ 關聯域 ”功能。 在這種情況下,請按照@Ciprian Rarau給出的答案。 它解釋得很好。

正如ERROR ITMS-90164/90046中所述:無效的代碼簽名權利我能夠通過執行Clean構建來解決問題。 為了記錄,我收到了錯誤代碼ITMS-90164

在此輸入圖像描述

  • 得到:“可執行文件已使用無效的權利簽名”消息
  • 使用Google搜索提供了一些有用的提示,但^消息並沒有停止
  • 去:Xcode> Window> Devices
  • 然后:在設備窗口的左下角,我選擇了“顯示設備控制台”按鈕
  • 從日志按鈕開始,我掃描了信息,發現了問題,並在很短的時間內修復了問題
  • 就我而言,它涉及com.apple.developer.associated-domains權利,我需要保留關聯域
  • 每當有設備錯誤消息時,我將使用設備控制台 ,節省時間
  • 在短時間內解決了這個問題
  • 順便說一句,謝謝大家的幫助

暫無
暫無

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

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