2010-09-27 120 views
37

我一直在使用iOS 4.0開發iPhone項目。我剛剛用iOS SDK 4.1下載了Xcode 3.2.4,以便我可以使用更新的iOS。在udpated Xcode中打開項目後,我發現目標讀取'Base SDK Missing'。我按照說明here修復了這個問題。Xcode'CodeSign錯誤:需要代碼簽名'

現在,當我嘗試建立針對iOS的任何版本,我收到此錯誤(在錯誤文本中引用的對應版本):

CodeSign Error: code signing is required for product type 'Application' in SDK 'Device - iOS 4.1'

我有團隊置備安裝了Xcode中創建個人資料,即Provisioning Profile具有我的證書,並且所選的代碼簽名實體是'iPhone Developer:Aaron Milam'。

任何想法,我可能會在這裏失蹤?

+0

互補問題:Xcode中失敗, 「代碼簽名」 錯誤](http://stackoverflow.com/q/13962341/89035) – rjstelling 2012-12-20 15:43:47

+0

檢查表,然後再繼續:開放的Xcode - >首選項 - >檢查蘋果ID是否存在項目,選擇代理並查看詳細信息 - >檢查簽名標識是否存在,配置配置文件是否存在。如果簽名身份不存在,則需要添加Apple開發人員證書。那麼它應該沒問題。 – Desmond 2015-05-20 03:25:11

回答

39

當Xcode無法識別您的證書時會發生這種情況。

這只是一個痛苦的屁股解決它,有很多的可能性來幫助你。

但您應該嘗試的第一件事是在「窗口」選項卡中=>組織者,您的設備中的設置。然後重新添加它們(在蘋果網站上再次下載它們)。並嘗試再次編譯。

順便說一下,您是否在項目信息窗口中籤入了「代碼簽名身份」?

祝你好運。

+0

我會試試看。謝謝! – Aaron 2010-09-27 13:46:15

+2

如果不起作用,則:1°)重新啓動計算機。 2°)刪除所有的電腦證書(與iPhone有關,並非全部都是^^)。 3°)重新下載它們。沒有你的電腦在我身邊解決這個問題有點困難:/祝你好運! – Vinzius 2010-09-27 13:48:42

+2

所以我按照你的指示。我發現在Xcode中,選擇了<多個實體>進行代碼簽名。我重新選擇了我自己的,並最終開始工作!謝謝你的幫助! – Aaron 2010-09-27 14:30:27

3

請確保您已正確創建配置文件。如果您確實設置了配置配置文件 ..您必須擁有...公鑰,私鑰和鑰匙串訪問中的證書。 檢查,如果你有所有這些..

的XCode 3.2.4自帶的自動設備配置...所以你只需要登錄到你的開發 帳戶它會下載所有有效的配置文件..

如果您擁有鑰匙鏈和下載的配置文件所需的全部... 當您選擇iPhone開發者:Aaron Milam'。在構建設置中。 確保您已選擇要爲其構建的配置(在目標 - >構建內的左上方)。 或者你可以做所有的配置來改變所有可用的配置,即調試,發佈等。

0

你是否更新過你正在測試的iPhone的固件版本?

+0

是的。事實上,它只是在最新版本的郵件中抵達。我確實檢查了更新。 – Aaron 2010-09-27 15:18:22

6

考慮到所有證書安裝正確,最常見的原因是沒有在活動目標設置中指定代碼簽名標識以及項目設置。將這些改爲iPhone Developer(Xcode將根據App ID匹配選擇正確的配置文件)。

  • 在Xcode中,從模擬更改爲設備(在Xcode的窗口頂部的下拉菜單),讓您的應用程序部署的目標將是設備。

  • 這是一個通配符ID的默認ID就像是在代碼簽名中關聯的所有iD一樣(如果您使用示例文件進行構建,它們最顯然不會導入com.coolapps.appfile,沒有「團隊配置文件」的情況下,您的構建將失敗。所以你想在你的設置

  • Xcode->項目 - >編輯項目設置 - >構建(選項卡) - >代碼簽名身份(頭) - >任何iOS(從任何iOS模擬器更改) - > (選擇「iPhone開發者的價值,它會默認爲通配符開發配置文件(團隊調配簡介:*)

而且(非常重要)

  • Xcode->項目 - >編輯活動目標 - >構建(標籤) - >代碼簽名標識(標題) - >任何iOS(從任何iOS模擬器更改) - >(選擇'iPh一個開發者的價值,它會默認爲通配符開發配置文件(團隊調配簡介:*)

完全的初學者步驟: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign-error/

8
  • 我愛堆棧溢出:

  • 我意識到一段時間太具體是不夠的,因爲我們可能有不同的Xcode版本,我自己在同一個Mac Pro上有2個xcode版本。所以在這裏我想提供一個通用指令,我希望它能適用於所有Xcode版本:

  • 我的2個版本是xcode 3.2.6和4.0。你需要找到(甚至谷歌的設置)你的xcode建立設置和它的代碼簽名在代碼簽名你有代碼簽名身份這爲您提供了一個身份證列表(如果你沒有身份證到這裏得到一個和註冊是必需的https://developer.apple.com/ios/manage/overview/index.action - 遵循蘋果公司的「使用開發配置助手在iOS上獲得您的應用程序」的說明)如果您有一個標識符列表,只需選擇一個有效的標識符並再次運行您的Xcode。它會工作!

  • 3.2.6特定:在您的scode窗口中 - 單擊項目 - >項目設置 - >生成(選項卡) - >向下滾動,因爲列表很長請確保向下滾動以找到您的代碼簽名部分

  • 4.0具體:在您的xcode窗口 - 點擊您的項目文件左邊最柱 - >然後下一個colum點擊您的目標應用程序 - >找到代碼簽名並分配一個標識符。它應該適合你。

完成!

1

另一種可能性 - 當您爲歸檔生成時,請確保您的歸檔中的歸檔選項設置爲分配,而不是釋放。

轉到產品 - >編輯方案這將彈出一個新的對話框。

選擇存檔在左邊。確保構建配置是分發。

2
  1. 填充「代碼簽名」兩個「項目」和「目標」部分
  2. 選擇「代碼簽名身份」有效條目中既有「調試」和「 版本
  3. 在」調試「選擇你開發人員證書
  4. 在 「發佈」 選擇經銷商證書

按照下列4個步驟總是解決了我的問題。

20

上線「任何iOS版SDK」,而不是「調試/分配/釋放」確保你的代碼標誌

這正是我所做的:

代碼簽名身份 - >不編碼標誌
*調試 - >不編碼標誌
**在任何iOS SDK - > [我的開發人員的個人資料]
*配送 - >不編碼標誌
**在任何iOS SDK - > [我的AppStore資料]
*發佈 - >不編碼標誌
**在任何iOS SDK - > [我的AdHoc資料]

當我將我的配置文件放在上面的一個級別(在Debug/Ditribution/Release)時,由於某種原因它不起作用(bug?)。

希望它對我們有些幫助!

+0

你是冠軍!這解決了我的簽名問題。 – Pedro 2011-11-25 04:48:46

+0

這對我有用! +1 – Damien 2011-12-17 17:16:43

+0

這不應該,但它確實! – 2012-08-12 16:28:49

0

我使用的Xcode 4.3.2,我的問題是,在那裏的另一個文件夾中具有相同的名稱,例如myFolder/myFolder /。

解決方案是更改第二個文件夾的名稱,例如myFolder/_myFolder,問題就解決了。

我希望這可以幫助一些人。

+0

這是有點愚蠢的Xcode不允許你有多個相同名稱的文件夾,不是嗎? – Aaron 2012-06-19 14:13:52

+0

@Aaron是的,我希望他們修復這個「bug」。 – marcos1490 2012-06-19 21:11:35

0

也許你的Mac的日期和時間不正確。只要糾正它們。

0

在文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

變化CODE_SIGNING_REQUIRED YES

CODE_SIGNING_REQUIRED NO

重新啓動的Xcode

2

嘗試以上的答案,以及其他一切我能日以後從在Xcode 4.6,我解決了這個問題通過以下步驟墨:

  1. 關閉的Xcode
  2. 上.xcodeproj右擊文件 - 在文本編輯器>顯示包內容
  3. 編輯project.xcodeproj
  4. 搜索「CODE_SIGN_IDENTITY」 - 會有對線這樣的:
CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)"; 
"CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)"; 

我發現了2個目標有這樣的價值,和2目標s與

CODE_SIGN_IDENTITY = ""; 
"CODE_SIGN_IDENTY[sdk=iphoneos*]" = ""; 

我複製了前一對線在後一對線上的所有情況下,後一對是emtpy。

然後我重新啓動Xcode,它現在工作正常。

+0

哇,這真正解決了我的項目(SendBird的Testapplication)這個愚蠢的錯誤。這花了我整整一小時才知道。謝謝。我做了所有的''''和Xcode停止抱怨。 – DevAndArtist 2016-02-23 13:41:56

1

如前所述,如果您不想代碼簽署您的應用程序,您可以 設置CODE_SIGNING_REQUIREDNO。這裏是方法沒有任何項目做/文件 修改:

創建文件NoCodeSign.xcconfig

CODE_SIGNING_REQUIRED = NO 

XCODE_XCCONFIG_FILE環境變量,此文件路徑:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig 

現在可以生成沒有代碼簽名的應用程序。

+0

「NoCodeSign.xcconfig」的內容顯然應該是「CODE_SIGNING_REQUIRED = NO」 – 2016-11-01 14:59:40