簡體   English   中英

Xcode 8 顯示配置文件不包含簽名證書的錯誤

[英]Xcode 8 shows error that provisioning profile doesn't include signing certificate

Xcode 8 顯示配置文件不包含簽名證書的錯誤。

此問題僅適用於 Xcode-8 和 Xcode 7,相同的配置文件顯示相關的已識別證書。

有很多方法可以解決此問題,例如啟用自動簽名等。但是如果您想了解此錯誤的原因,則需要查看錯誤消息。

它表示您在“常規選項卡”中選擇的配置文件不包含您在“構建設置”->“代碼簽名身份”中選擇的簽名證書。

如果在“構建設置”->“代碼簽名身份”下為調試身份選擇了分發證書,通常會發生這種情況。

如果這種情況發生在“簽名(調試)”下,也可能是“簽名身份”->“iOS 開發”未包含在配置文件中。

檢查您的鑰匙串是否有缺少私鑰的身份。 我為同一個團隊安裝了多個分發證書,其中一個缺少私鑰。 Xcode 僅檢查鑰匙串中的第一個匹配身份並自動使用它,而不是包含私鑰的身份。

在此處輸入圖片說明

刪除沒有私鑰的匹配身份使 Xcode 再次檢測到正確的身份。

為了解決這個問題,

我只是在項目設置常規選項卡中啟用“自動管理簽名”,在啟用之前我擔心它可能會產生一些副作用,但一旦啟用它對我有用。

希望這對其他人有幫助! 在此處輸入圖片說明

對於那些由於某種原因應該繼續使用而不是自動的人

打開keyChain Access查看是否有兩個相同的認證,如果有兩個或更多,只需刪除一個就可以了:)

我在最近將 Xcode 更新到 9.3 版后遇到了這個問題問題在於代碼簽名(在調試下)證書被設置為分發證書而不是開發證書,因此這阻止了我在我的設備上安裝應用程序。

這是我為解決此問題所做的工作。

項目 -> 目標 -> 選擇您的應用 -> 構建設置 -> 代碼簽名標識 -> 調試 -> 雙擊“iPhone 分發”並將其更改為“iPhone 開發人員”。

我取消選中,然后選中“自動管理簽名”選項。 那為我修好了。

每次自動簽名都失敗了,直到我手動刪除了以下位置的本地配置文件:~/Library/MobileDevice/Provisioning Profiles

在那之后自動簽名工作得很好,它從蘋果的服務器上得到了正確的配置文件。

這僅影響了一些構建,特別是我為手表應用手動創建配置文件的構建。

有同樣的錯誤。 配置文件似乎更新了,添加了新證書,我什至在下載時檢查了它。 還撤銷了前開發商的證書,從配置文件中排除。 但是 Xcode 仍然會錯誤地詢問我以前的證書:

No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found

所以,我做了什么來修復它:

  1. 轉到Build Settings -> Signing -> Code Signing Identity
  2. 找到所有“FORMER_DEVELOPER”證書並選擇需要的。

希望它會幫助某人。

對於那些仍然在 Xcode8 中遇到這個問題的人。 對我來說是一個重復的證書問題,這就是我解決它的方法:

我閱讀了尼克的回答,然后我開始了我的調查。 我檢查了我的特殊情況下的所有密鑰和證書(在 ~/Library/Keychains/System.keychain 內)。

當我打開文件時,我發現我有兩個 iPhone 分發證書(這是 Xcode 要求我的證書),一個是我從一開始就使用的 iOS 分發私鑰,另一個是 iPhone 分發證書,它的私鑰有一個我不熟悉的名稱 (iOS Distribution:NAME)。 我刪除了最后一個證書,再次啟動 Xcode,問題就解決了。 xCode 無法解決該沖突,這就是為什么它一直出現簽名證書錯誤的原因。

檢查您的鑰匙串,也許您有重復的證書。

如果您使用手動簽名(我肯定會鼓勵這樣做),則可能會發生此錯誤,因為 Xcode 認為它應該使用開發人員證書對發布版本進行簽名,而這顯然不包含在發布配置文件中。

有一個構建設置,用於定義應將哪個證書用於哪個構建配置。 要更改它,請轉到構建設置並搜索Code Signing Identity 展開時,每個構建配置(通常是 Debug 和 Release)應該有單獨的行,在第二列中選擇其標識(通常是 iOS Developer 或 iOS Distribution)。 確保為每個構建配置將其設置為正確的標識。

在某些情況下,還可以擴展構建配置。 確保其子項也設置為正確的身份。

您還可以使用出色的Fastlane 工具包解決代碼簽名問題。 作者付出了很多努力來有效地自動化構建、簽署 iOS 應用程序(等等)。

所以在提到的套件中,有一個工具sigh可以神奇地解決任何簽名問題,因此得名:) 這里的好處是,這個工具封裝了關於常見簽名問題的知識,可以檢測和解決大部分問題。

Fastlane 安裝為 Ruby gem:

gem install fastlane

然后簡單地調用:

fastlane sigh --development

回答兩個問題,瞧:

[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...

最后,轉到Build Settings -> Signing ,然后切換到新創建的配置文件,您剛剛在命令輸出中看到了它的名稱。

此示例針對開發代碼簽名問題(在設備上運行)。 查看所有其他選項的sigh 文檔

就我而言,在鑰匙串中,我有兩個同名證書,我刪除了其中一個重復的證書,然后它解決了問題。

“啟用自動簽名”然后從下拉菜單中選擇一個團隊幫助我解決了這個確切的問題。

  1. 刪除沒有私鑰的開發者證書。
  2. 使用 go to folder (~/Library/MobileDevice/Provisioning Profiles) 從您的機器中刪除配置文件
  3. 然后首先選中然后取消選中項目設置中的自動管理簽名選項並選擇團隊。
  4. 在 Apple 開發者帳戶中唱歌並編輯配置文件,選擇所有可用的開發者證書,然后下載並添加到 XCODE。
  5. 在項目構建設置中選擇配置文件和代碼簽名標識

Xcode 11

這是我得到的錯誤

配置文件“XXX”不包括簽名證書“​​Apple Development: XXX (XXX)”。```

現在 Xcode 11 自動創建了一個證書“Apple Development: XXX”,該證書適用於所有平台

https://developer.apple.com/account/resources/certificates/list

你只需要

  1. 前往https://developer.apple.com
  2. 轉到您的配置文件
  3. 檢查是否選擇了此證書

我從我撤銷的證書中保留了私鑰,證書不見了,但私鑰沒有。 刪除它們解決了問題。

要找到它們:

  1. 打開鑰匙串訪問
  2. 單擊左側菜單中類別下的“鍵”
  3. 尋找 iOS Developer: ..." 沒有綁定證書的密鑰
  4. 我刪除了它們,問題就消失了

圖中突出顯示的密鑰是沒有證書的示例私鑰。

突出顯示的項目是導致問題的一個關鍵,刪除它解決了問題

我也有同樣的問題。 我換了mac。 當我下載 Xcode 證書時,收到一條錯誤消息:“錯誤是安全配置文件不包含證書簽名。”

1) 轉到https://developer.apple.com/account/ios/profile/limited/edit選擇項目 => 編輯 => 證書 => 全選 => 創建 => 下載

2)在Xcode中:項目文件=>簽名(調試)=>配置文件=>導入配置文件=>選擇帶有1的文件

因為我還沒有看到這個具體的答案:

我的問題是我需要手動簽名。 所以我的錯誤是在 Build Settings -> Code Signing -> Code Signing Identity

我的調試(自動簽名樣式和 Apple 開發證書)、暫存和發布(手動和 Apple 分發(adHoc)變體設置正確。

我沒有正確設置(由於我理解的一些有缺陷的邏輯)是“ANY IOS SDK”值。 一旦我將它設置為相同的手動 Apple Distribution 證書,錯誤就消失了。

最初我將它設置為自動值“iOS Distribution”,因為我認為它會更好地自動處理,因為我不知道它是什么意思。 仍然沒有。 哦,希望它有幫助

對我來說,上述解決方案均無效。 我正在從兩台舊 mac 遷移到新 mac,試圖讓發布/調試配置文件在 Xcode 上運行,而無需Xcode 自動管理它們。

對我來說,解決辦法是,當我去,並創建了兩個新的證書,我不得不進入我的預置描述文件,並添加新的證書到供應配置文件,以便認出了他們(分銷和開發都下)。 完成此操作並下載后,xcode 刪除了所有錯誤,一切順利。

希望這可以幫助某人!

我收到了其中一封來自 Apple 的電子郵件:

親愛的約翰·多伊,

以下證書已被您的開發團隊成員吊銷或已過期:

證書:iOS開發

團隊名稱:Honey Team, LLC

這不會影響您提交到 App Store 的應用程序或您更新應用程序的能力。 如果您使用包含此證書的配置文件,則必須重新創建它們,然后才能重新使用它們。 有關詳細信息,請參閱 Xcode 幫助的“應用簽名概述”部分。

此致,

Apple 開發者計划支持


我創建了一個新證書,它撤銷了以前的證書(在本地和任何其他開發人員的 mac 上)。 為了讓它工作,我必須下載新的配置文件。

解決辦法是:

  • 登錄蘋果開發者賬號
  • 刪除/撤銷以前以我的名義創建的證書。
  • 證書添加到配置文件中。 您可以通過到期日期識別較新的
  • 從 Xcode 再次下載它們。 Xcode >> 帳戶 >> 下載所有配置文件
  • 重啟Xcode

我個人沒有這樣的訪問權限。 此訪問權限僅供我們團隊的管理員使用,因此我沒有屏幕截圖,也不確定這些步驟是否 100% 正確。

我還沒有看到提到這一點,但是如果您在重新創建配置文件、刪除配置文件文件夾中的現有配置文件、檢查鑰匙串中的欺騙等(所有其他答案 ITT)后仍然遇到問題,請打開您的目標 > 構建設置 > 代碼簽名並確保那里的所有內容看起來一致。 例如,我已將用於調試的代碼簽名標識更改為分發標識,這顯然不起作用,因為開發配置文件沒有分發證書並且首先導致了錯誤。

如果您嘗試將您的應用程序上傳到 iTunes Connect(您的配置文件設置為分發),請轉到項目設置 -> 構建設置 -> 代碼簽名。 確保將所有 Debug 和 Release Options 設置為您的 Distribution Provisioning Provisioning Profile。

這個問題似乎開始發生在Xcode 11 中

  • 前往蘋果開發者
  • 找到正確的配置文件
  • 按右上角的編輯
  • 在證書中選擇(分發)選項。 (我認為這是蘋果引入的新選項/證書類型,但我找不到任何文檔)
  • 可選:刪除 (~/Library/MobileDevice/Provisioning Profiles/) 中的所有配置文件
    去 Xcode -> Preferences->Accounts->Download Manual Profiles

在此處輸入圖片說明

以下是為我解決的步驟(對於那些在 XCode 9.2 中遇到同樣問題的人):

  1. 只是手動刪除了 ~/Library/MobileDevice/Provisioning Profiles 中的本地配置文件。

  2. 從開發人員帳戶中刪除並創建了所有證書和配置文件。

  3. 從 Xcode 中刪除了開發人員帳戶並重新添加了它。

解決了我的問題! :-)

這可能會幫助你

iOS 分發配置文件

設想:

另一個開發人員給了我證書。

我簡單地安裝了這個

錯誤 :

Xcode 8 顯示配置文件不包含簽名證書的錯誤

這不是完全正確的錯誤。

錯誤是私鑰丟失

首選項 -> 帳戶 -> 雙擊團隊

在此處輸入圖片說明

調用開發者發送私鑰。

並將其安裝到您的本地

第二個解決方案

  • 創建一個新證書。

  • 編輯您現有的配置文件

  • 包括新證書

  • 保存並下載

單擊然后取消“啟用自動簽名”對我有用,盡管它所做的實際更改是:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

或者在 Xcode 中它被稱為Always Embed Swift Standard Libraries

我有同樣的問題,理由很簡單。 在構建設置中選擇了錯誤的配置文件和證書。 我前幾天才這樣做過。 因此,您不需要在 xcode 中啟用“自動”。 在執行之前檢查構建設置中的配置文件。

嘗試直接從會員中心下載證書/配置文件,而不是從 Xcode 下載。

當我從會員中心手動下載它們時,它對我有用。

我為此苦苦掙扎了很多天。

步驟 1:從開發者帳戶中刪除所有證書、配置文件、appID、密鑰等。

第 2 步:重新創建推送通知證書、配置文件、應用 ID 等。

第 3 步:從鑰匙串中刪除所有證書。

第 4 步:清除 ~/Library/MobileDevice/Provisioning Profiles 中的所有配置文件。

步驟 5:僅添加所需的配置文件並進行測試。 它工作正常。

這意味着您需要執行以下任一操作:

  1. 您應該已經在開發人員中心創建了一個證書,然后將該證書包含在您將導入 XCode 的配置文件中。
  2. 否則,如果您使用的是其他人創建的證書,請讓他們與您共享/導出他們的證書和私鑰(.p12 文件),您需要將其包含在您的鑰匙串中。 參考這里

當您無法從創建者那里獲取證書和 .p12 文件時,#2 的解決方案是選中“自動管理簽名”選項。

發生這種情況是因為供應配置文件找不到鏈接到的證書的文件

修理:

  1. 通過在Apple Developer儀表板的“證書,標識符和配置文件”部分中單擊您的配置文件上的編輯,檢查將哪個證書鏈接到您的配置文件
  2. 從儀表板下載證書
  3. 雙擊文件以將其安裝在鑰匙串中
  4. 將文件拖到Xcode中以確保已鏈接

該錯誤現在應該消失了。

此問題是由於您個人資料中證書中的私鑰與您的鑰匙串中的私鑰不匹配。 我通過解決這個問題

  1. 刪除鑰匙串中的所有iPhone Developer證書。
  2. 刪除蘋果帳戶中的所有證書。
  3. 使用xcode“管理證書”添加證書,有時您的Mac中仍然有證書,但是我不知道它現在在哪里,如果添加成功,您的Apple帳戶也會顯示該證書,然后您可以創建自己的證書帶有該證書的配置文件並下載... goto 5
  4. 如果您使用“管理證書”無法添加證書,則可以創建新證書,並繼續執行步驟。
  5. 完。

Xcode版本8中的代碼簽名問題相同的答案。

在我的情況下,問題是在Xcode Beta 11.5上對簽名應用程序的方式有所改變,所以只需確保調試/發布配置證書都正確設置

我嘗試了很多東西,但唯一能為我解決這個問題的是在 xcode 中配置一些東西:

構建設置 -> 簽名:

  • 代碼簽名身份:為所有選項選擇 iOS Developer。
  • 代碼簽名風格:自動
  • 配置文件:自動

暫無
暫無

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

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