2010-05-21 132 views
31

昨晚,iPhone項目完美地建成了。如何修復iPhone項目的「失敗的驗證碼驗證」?

今天早上,我安裝了XCode 3.2.3單獨的文件夾中。當我在舊的XCode 3.2.2中打開同一個項目並重新構建項目時。我得到了以下警告:

應用程序失敗代碼標記 驗證。簽名是 無效,或者未使用 Apple提交證書籤名。 (-19011)

我該如何解決?謝謝!

+0

該警告阻止你運行?從提交? – 2010-08-06 23:56:53

+0

由於此警告,我無法運行我的應用程序。 – neoneye 2011-01-10 15:32:33

+0

沒有得到幾個星期的-19011錯誤...當我慢慢建立我的應用程序...然後錯誤開始出現在今天。我沒有升級任何東西。安裝/刪除任何東西。 – Patricia 2011-03-05 22:26:13

回答

6

我有同樣的問題,似乎3.2.3與codesigning messes。我通過重新運行3.2.2安裝程序來修復它,不需要卸載任何東西。

+0

澄清了一下...是否意味着:1)'3.2.2'安裝2)安裝'3.2.3' 3)安裝'3.2.2'。在那之後,'3.2.2'和'3.2.3'都可以使用? – ohho 2010-05-23 15:13:45

+0

這就是我所建議的,是的。我可以確認能夠爲App Store進行編碼(使用3.2.2的OS 3.0)。 XCode 3.2.3運行良好,但沒有測試過建築/密碼。 – 2010-05-24 22:04:47

+0

非常激進,請看下面的解決方案,獲得更高的選票。 – chewy 2012-05-18 22:18:11

0

如果您轉到組織者並選擇供應配置文件,那麼列出的配置文件是?如果是這樣,你是否檢查過它在項目設置/構建/代碼簽名部分設置?

+1

是的。是。 我還發現這個警告顯示在每個舊項目上。在我看來3.1.3一些什麼改變了3.1.2環境... – ohho 2010-05-21 08:26:57

9

我也遇到過同樣的問題。它顯示我在我的鑰匙串中有一個重複的證書註冊。刪除其中的一個(我從系統鑰匙串中刪除了一個)修復了這個問題。

步驟,幫助我解決我的問題:

  1. 打開鑰匙串訪問應用程序
  2. 選擇「登錄」鑰匙串,並在底部窗格中「證書」
  3. 開關選擇到「系統'鑰匙鏈,看看是否有證書在兩條鏈上註冊。
  4. 刪除其中的一個,
  5. 重新生成應用程序
+0

我在不同的鑰匙鏈上有幾個證書,只剩下一個解決的問題 – RolandasR 2010-10-27 12:21:48

+0

不是我的解決方案。我沒有重複,但我確實有相同的症狀。 – neoneye 2011-01-10 15:30:16

+0

爲我解決了它。顯然,如果你的Keychain中還有一個過期的證書,XCode將毫無理由地使用它,而不是更新的未過期證書。 – mrueg 2011-01-26 02:01:57

3

這今天發生在我身上,因爲我是移動的現有項目到一個新的Git倉庫結構,同時利用通過被添加到獲得開發證書我客戶的團隊作爲「會員」。所以很多機會讓事情搞砸了。

就我而言,問題原來是「構建產品路徑」。我把它設置爲相對路徑「../../../build」而不是絕對路徑。這導致驗證工具搞砸了,因爲實際路徑沒有被正確摺疊。我將其更改爲絕對路徑,然後驗證工具再次開始成功運行。

我將此作爲#8946204的一個bug提交給雷達。

+0

我知道這是一箇舊帖子,但@Shaggy Frog的解決方案正是我發現的問題。在我的項目設置的「構建產品路徑」中,我有以下值$(PROJECT_DIR)/../ build。我這樣做的原因是我不希望生成文件夾與我的項目位於相同的文件夾中(出於源代碼控制的原因)。 「../」引起了ohho在原始問題中的代碼簽名警告。在我從構建路徑中刪除「../」後,代碼簽名警告消失了。我的答案:不要在構建路徑中使用「../」。 – 2011-04-13 18:20:10

+0

是的,在我的情況下 - 包含..的構建路徑是問題。不用說這是令人沮喪的,因爲它使得難以在具有不同構建輸出的機器之間移動項目。 – 2011-07-10 14:11:31

0

我不確定,但恢復project.pbxproj中的這些更改可挽救我無法在設備中啓動我的應用程序。但問題的警告主題依然存在。

@@ -325,6 +325,7 @@ 
           PREBINDING = NO; 
+        "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; 
           SDKROOT = iphoneos; 
@@ -361,6 +362,7 @@ 
           PREBINDING = NO; 
+        "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; 
           SDKROOT = iphoneos; 
3

這是一種舊的文章,但我想和大家分享我所學到的(真的記住,因爲我忘了這部分內容。)我試圖建立我對AD-飛引人注目的項目。我忘記了我需要創建一個單獨的App Store配置文件(配置門戶 - >配置 - >分配)。這是我提交的第一個應用程序,文檔非常多,所以我錯過了/忘記了這部分內容。一旦我創建了App Store配置文件並安裝在XCode中,一切正常。只是想把這個扔掉,以防其他人有這個相同的問題。

+0

這是我的問題,我覺得很愚蠢。謝謝;) – Odrakir 2012-01-02 23:37:06

-1

簡單解決方案:使用分銷證書而不是開發人員證書構建您的應用程序。

+1

這對我有效。 Xcode 4,構建設置,代碼簽名標識,發佈,將證書從開發人員更改爲分發,包括目標和項目。請注意,這是在執行項目時,存檔(以便將存檔提交到appstore)。 – 2011-10-10 21:37:01

5

平行的XCode問題可以使用命令行工具來解決「的xcode-選擇」

我發現造成具有安裝的XCode 4.2測試類似的問題。其中一個嵌入式權利文件被放置在不同的目錄中,導致文件未找到錯誤。

解決方案是使用xcode-select來驗證和修復XCode路徑。

+1

謝謝!這個命令爲我解決了警告。 XCode 4.0.2在嘗試驗證代碼簽名時正在使用beta版本(XCode 4.2)的路徑。我用「xcode-select -switch/Developer」設置路徑。 – 2011-08-24 09:11:56

+0

我的4.3 sdk和sdk5 beta版都運行良好,但由於某種原因,有一天我無法創建沒有此錯誤的特別版本。 用xcode-select選擇4.3 sdk終於在頭痛數小時後工作了。非常感謝! – romrom 2011-09-12 09:05:33

+1

它可能值得在這裏說4.2寫在這個時候不能用於提交應用程序(在我的情況下報告代碼簽名失敗) – 2011-09-15 21:30:46

3

原因是什麼浩說,你可以在那裏進行更改: 我只是做的是:

  • 打開管理
  • 轉到設備
  • 發放模板
  • 單擊要配置文件使用。在那裏您將看到配置文件標識符鍵。
  • 打開通過文本文件的Xcode項目(在xcodepj包中的文件)
  • 去那些線條和把鑰匙在這裏
@@ -325,6 +325,7 @@ 
          PREBINDING = NO; 
+        "PROVISIONING_PROFILE[sdk=iphoneos*]" = "key goes  here"; 
          SDKROOT = iphoneos; 
@@ -361,6 +362,7 @@ 
          PREBINDING = NO; 
+        "PROVISIONING_PROFILE[sdk=iphoneos*]" = "and also here"; 
          SDKROOT = iphoneos; 
  • 保存更改並重新啓動項目

!!!這就是我在XCODE 4中的工作!

27

對我來說,下面的步驟解決該問題:

  1. 轉至產品>修改方案。

  2. 打開存檔配置文件。

  3. 將生成配置設置爲分發。

+0

是的!這爲我做了。 – DanM 2011-10-03 01:08:16

+0

我也是!救了我! – 2011-10-06 18:05:10

+0

非常感謝洙的工作..! – 2011-10-11 07:12:48

0

我解決了這個問題只需從鑰匙串中刪除我的分佈證書然後從臨時輪廓

4

重新下載除了谷歌搜索可能的解決這個問題,並試圖出來(希望他們幫助),在這裏是一個建議如何診斷是什麼原因造成的。以下步驟適用於Xcode 4.2。

  1. 在菜單中,選擇查看>導航>顯示日誌導航器。日誌導航器應顯示在左側。
  2. 在構建列表中,選擇導致問題的列表。構建日誌將顯示在主視圖中。
  3. 滾動到最下面。最後兩步應該是CodeSign驗證,其中驗證步驟包含警告。
  4. 展開CodeSign並檢查用於執行代碼簽名的參數。
  5. 展開驗證瞭解有關錯誤/警告的更多信息。

而且向上滾動,並檢查了創建目標標題:

構建目標(您的構建目標)

項目(項目)|配置(選定配置)|目的地...

就我而言,我發現在執行存檔構建時,應用程序是用開發人員證書籤名的。檢查構建目標的標題顯示發佈配置用於構建存檔。補救的辦法是:

  1. 在菜單中,選擇產品>修改方案
  2. 在編輯計劃對話框中,選擇存檔建設項目(左邊列表)
  3. 變化構建配置分發

我在複製構建目標後出現此問題。最初的目標是由分銷證書籤署的。但是,在複製目標時,Xcode決定將發佈配置分配給存檔構建。

+0

謝謝,這讓我意識到,不應該包含發佈目標和發佈項目的Entitlements.plist文件。將這些字段留空後,codeSign錯誤消失。 – JeffB6688 2011-12-20 23:40:41