如何修復iOS簽名應用程序代碼簽名錯誤?

在調查過程中,我讀過太多論壇(包括中文論壇)文章,StackOverflow條目等,沒有一個可以幫助我。因此,我想為此問題創建修復程序編譯。

在開始之前,您可以在下面找到我的方案。

我有一個Cordova應用程序,並通過Cordova CLI生成一個版本。但一般來說,這與本機ios簽名應用程序構建沒有什麼不同。實際上,它正常工作,直到MacOS和XCode更新。

在Mojave和XCode 10更新之後,我無法在Jenkins上生成構建。在以下錯誤中連續出現。這完全是鑰匙串和ipa簽名證書相關的問題。

.......... errSecInternalComponent 命令/ usr / bin / codesign

失敗,退出代碼為1

我們可以開始解決方案。您應該知道這些常見解決方案位於列表的開頭。

常見解決方案1:檢查有效證書

您應該檢查正確添加有效蘋果企業簽名證書的鑰匙串。您可以通過Keychain Access應用程序或以下命令通過終端執行此操作。

security find-identity -vp codesigning

您的證書必須在結果中。如果沒有,請刪除並再次將ios企業簽名證書添加到鑰匙串。

常見解決方案2:鎖定和解鎖鑰匙串

另一種最常見的解決方案。在終端中運行以下命令。您應該添加自己的鑰匙串名稱和密碼。

security lock-keychain temp.keychain

security unlock-keychain -pp @ ssw0rd temp.keychain

在這種情況下,使用鑰匙串名稱為“temp”,其密碼為“p @ ssw0rd”。此外,您可以在以下命令中找到鑰匙串的完整路徑,並且可以使用它來代替鑰匙串名稱(temp)。

安全列表 - 鑰匙串

常見解決方案3:重啟機器

它可以被視為有趣,但這個解決方案在大多數網站上都很受歡迎。如果添加新證書,則重新啟動計算機會很有用。您可以使用以下命令重新啟動。

sudo重啟

常見解決方案4:將Keychain密碼設置為分區列表

此解決方案是修復密碼提示問題。在某些情況下,從提示但是遠程訪問等待密鑰鏈密碼的協同設置沒有此功能。因此,通常,代碼簽名過程未成功完成。

security set-key-partition-list -S apple-tool :, apple :, codesign:-s -kp @ssw0rd /Users/ceyhunkeklik/Library/Keychains/temp.keychain-db

您可以使用“通用解決方案1”中描述的方法找到鑰匙串的完整路徑。

我案例的解決方案:檢查並刪除重複的私鑰

就我而言,臨時鑰匙串有一個有效的證書及其私鑰。我不知道為什麼,但“系統”鑰匙串有一個與我的有效證書相關的私鑰。我檢查了所有鑰匙串中的所有私鑰,並從不相關的鑰匙串中刪除了所有重複的密鑰。此外,我已刪除所有過期的證書,如果有的話。

如果沒有企業賬號可藉助第三方平臺(如:yingnuo578.com)獲得蘋果企業簽名服務,這也是一個不錯的辦法。

如何修復iOS簽名應用程序代碼簽名錯誤?



分享到:


相關文章: