2012-04-02 177 views
10

我對iOS開發很新,我有一個應用程序所有設置和準備分發,但我似乎每次只在我的設備上運行該應用程序時得到此錯誤, iOS模擬器工作得很好。下面有完整的錯誤:代碼簽名錯誤:應用程序失敗的代碼簽名驗證

Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)

這裏就是整個日誌:

Validate "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 
    cd /Users/masonsocha/Desktop/Apps/MultiBrowser 
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    setenv PRODUCT_TYPE com.apple.product-type.application 
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 

warning: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011) 
Executable=/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/Multibrowser 
codesign_wrapper-0.7.10: using Apple CA for profile evaluation 
AssertMacros: trust_result == kSecTrustResultUnspecified, file: codesign_wrapper.c, line: 594 
AssertMacros: profile, file: codesign_wrapper.c, line: 918 
codesign_wrapper-0.7.10: Failed to load provision profile from: /Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/embedded.mobileprovision 
- (null) 

我已經嘗試縮短項目名稱的長度,沒有幫助,我目前使用的OSX獅子,在Xcode中4.3.2。我整晚都把頭髮拉出來,請幫忙!

+0

您是試圖構建用於測試的設備,還是要構建以分發到App Store? – magmastonealex 2012-04-02 23:45:57

+0

聽起來像你可能甚至沒有設置代碼簽名據此。 >簽名無效,包含不允許的權利,或者未使用iPhone分發證書籤名。 您是否按照開發者平臺上的任何說明獲取您的證書?或者你是否簡單地從模擬器更改爲設備並希望它能運行? – rooftop 2012-04-03 20:57:11

+0

對於那些正在尋找最新解決方案 - 2013年4月的人,請按照以下步驟操作: https://developer.apple.com/library/ios/#technotes/tn2250/_index.html – Yizhar 2013-04-29 13:05:31

回答

9

我有完全相同的問題..

轉到鑰匙串訪問

  1. 確認你有你的公共和私有密鑰設置正確。這是一個很好的參考https://developer.apple.com/legacy/library/technotes/tn2250/_index.html

  2. 我以前曾調整了鑰匙扣證書首使Outlook工作,但幾乎搞砸了的XCode代碼簽名..

後,我設置這些爲「最好的嘗試「設置(見截圖)驗證甚至檢查所有簽名的東西后運行良好

enter image description here

+0

這對我有用。謝謝。 – user1489709 2013-02-21 03:16:06

2

我有同樣的問題。我的權利文件中包含舊的「可調試」設置。將其切換到獲取任務允許解決該問題。蘋果有instructions on how to debug signing issues

+0

感謝所有人回覆,但我解決了問題,我選擇了我的具體分配配置文件,我試着選擇推薦的設置,它會自動選擇一個有效的配置文件,它工作得很好:D – 2012-04-11 02:04:54

19

可能是xcode選擇其中一個開發配置文件來爲其簽名代碼。

確保它使用分佈圖

按項目,在構建設置 - >代碼簽名部分擴大代碼簽名身份 - >發佈 - >確保所有的iOS SDK指的分佈圖。

+1

謝謝!我遇到了這個問題,因爲我的發佈代碼簽名實體被設置爲匹配Test Flight的開發代碼。 – sberley 2013-03-02 01:43:03

+3

有道理。有用!非常感謝你! – 2013-06-29 13:18:47

3

你可以解決它不會離開配置文件選擇xcode。在項目設置中手動選擇正確的版本配置文件,它將通過。

1

我有這個問題,但發現上述問題都沒有解決它。最終,我通過蘋果的技術說明(https://developer.apple.com/legacy/library/technotes/tn2250/_index.html)研究了該主題。

在我的情況下,特定的問題是遺失或被隱藏的資產(我沒有找到哪個),但是在構建過程的其他地方沒有將其標記爲問題文件。我已經概述了我採取的步驟來發現下面的內容。

  1. 存檔構建,保存爲adhoc部署。
  2. 在finder中導航到ipa,重命名爲.zip。
  3. 雙擊取消歸檔,打開「有效載荷」文件夾
  4. 打開一個終端,並輸入以下內容:

    協同設計--verify -vvvv -R ='錨蘋果一般性和證書1場(證書葉[field.1.2.840.113635.100.6.1.2]存在或證書葉[field.1.2.840.113635.100.6.1.4]存在)'/ Path/to/your/app.app

  5. 不是輸入/Path/to/your/app.app,而是將* .app文件從Payload文件夾拖放到終端中,確保命令結尾和文件名,並重新打開轉。

我在輸出中說,「一個密封的資源丟失或無效」,與導致問題的文件的名稱得到一個錯誤(它開始以一個點,這可能是問題)。當我在XCode項目瀏覽器中搜索文件名時,我找到了該文件,但是當我查找Finder時,它不在磁盤上。

該修復只是將文件從XCode項目瀏覽器中刪除,錯誤消失了。我肯定會對任何得到類似問題的人說 - 通過Apple的技術筆記。他們措辭有點糟糕,但解決方案可能在某處。

相關問題