簡體   English   中英

iOS 應用提交:簽名無效

[英]iOS app submission : invalid signature

我已經為這個問題苦苦掙扎了一個多星期,我已經嘗試了所有我能在谷歌上找到的東西,但沒有成功。 這是我第一次嘗試向 App Store 提交應用程序,但每次嘗試后我都會收到此 email:

無效簽名 - 確保您已使用分發證書對您的應用程序進行簽名,而不是臨時證書或開發證書。 驗證 Xcode 中的代碼簽名設置在目標級別是否正確(覆蓋項目級別的任何值)。 此外,請確保您上傳的包是使用 Xcode 中的發布目標構建的,而不是模擬器目標。 如果您確定您的代碼簽名設置正確,請在 Xcode 中選擇“全部清除”,刪除 Finder 中的“build”目錄,然后重建您的發布目標。

所以這就是我在做什么:

  • 我在登錄鑰匙串中有我的分發證書,帶有私鑰和公鑰。
  • 我的分發配置文件與我之前創建的證書相同。
  • 我的配置文件中的捆綁包 ID 在我的 iTunes 連接應用程序中是相同的,在 Xcode 常規設置中也是相同的。
  • iTunes 連接應用程序和 Xcode 中的相同版本 (0.8.2)。
  • 我正在使用選擇的設備而不是模擬器進行構建(但我沒有連接到 Mac 的設備)。
  • 構建設置下的代碼簽名部分(針對目標和項目)。
  • 我有“iPhone Distribution:...”用於所有內容,而且我正在選擇分發配置文件。

我缺少什么? 我四處尋找,發現的都是版本不正確或包 ID 不正確的人。

我正在使用 Cordova 和 Ionic 來構建我的應用程序,我不知道這是否與它有關。

我看過 Apple 關於這個問題的故障排除指南並運行了這個命令:

codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field. 1.2.840.113635.100.6.1.4]存在)'/path/to/the.app

我得到: a sealed resource is missing or invalid file modified: /path/to/MyApp.app/MyApp他們建議運行它來解決問題: dot_clean path/to/xcodeproject

但這沒有幫助,我不斷收到同樣的錯誤。 請幫忙,我沒有線索

編輯(解決方案)

蘋果只是一個愚蠢的大公司,任何帖子下的建議解決方案都沒有幫助我,這只是蘋果的愚蠢過程? 我有一個無效字符“。” 應該從應用程序名稱中刪除。 我希望 Xcode 可以在進入任何提交和測試過程之前先驗證名稱。

我認為您沒有使用正確的分發配置文件。在 iTunes Connect 中為應用商店提交創建一個新的分發配置文件,而不是臨時配置文件。 見下圖。

在此處輸入圖片說明

1) 然后,檢查您的包標識符應該與新創建的應用商店證書完全匹配。

2) 只需在 Provisioning Portal 中刪除您的證書並在 Xcode 中更新新證書。

3)轉到 Organizer / Provisioning Profiles / Refresh 並允許 Xcode 獲取最新的。

4)然后轉到項目目標-> 構建設置-> 構建選項-> 驗證產品並將您的發布模式更改為是。 見下圖。

在此處輸入圖片說明

然后,清理您的項目並生成存檔。

我遇到了同樣的問題,因為應用程序存檔包含非 ASCII 字符的文件。 我重命名了所有這些,然后它起作用了。

您可以通過在終端中從存檔文件夾路徑執行以下命令來查找所有包含非 ASCII 字符的文件:

LC_ALL=C find . -name '*[! -~]*'

Build Settings-> Build Options: Enable Bitcode = Yes對我Enable Bitcode = Yes幫助。 我仍然可以看到錯誤,但稍等一會 Xcode 通過它,並繼續上傳應用程序。

在此處輸入圖片說明

確保您的 bundle id 應與 App ID 匹配並將項目編輯方案更改為 release 。

如果不試試這個鏈接http://stackoverflow.com/questions/5196309/ios-code-signing-fails-a-sealed-resource-is-missing-or-invalid

幾天前我遇到了同樣的問題,最后我不得不從 Keychain Access 中清除我的分發證書,從開發人員門戶中刪除並重新生成它們。 重新安裝證書后,我能夠在物理設備上構建和運行應用程序,然后將其存檔並發送到 App Store。

您在此處列出的所有步驟都很好。 如果您可以連接到物理設備並確保您的證書列在代碼簽名設置的括號中。

構建設置

我不得不經歷同樣的挫折,才能了解到了解 Provisioning 如何工作的最佳資源是App Distribution Guide

此外,StackOverflow 上處理相同或類似問題的線程很少,例如: App Submission: Invalid Binary - Invalid Signature

祝你好運!

我對 xCode 13+ 有同樣的問題,在我的情況下,我只是用非特殊字符替換目標名稱。

該修復解決了我 99% 的問題,因為我的項目中有多個目標,並且一些目標出現了這個問題,因為目標名稱中包含特殊字符。

我今天確實遇到了與此相同的問題,結果是Resource目錄中的.DS_Store文件。 在構建之前刪除了該文件,然后一切正常。

當我升級到XCode 10時,我遇到了這個問題。一種解決方法是降級到XCode 9,然后將我的應用程序提交到App Store。

  1. 應用程序> XCode>移至廢紙簍
  2. https://developer.apple.com/downloads/下載XCode 9

暫無
暫無

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

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