2009-12-11 60 views
4

我有一個奇怪的問題。我的簽名拒絕簽署這個大項目項目A,但簽署了另一項目B項目。但是,當我簽署項目B時,它也可以突然簽署項目A.我100%肯定我沒有改變任何其他事情。步驟我把爲:其他xcode iphone項目簽署成功後,代碼簽名成功

嘗試建立,簽署 - 在簽署
嘗試構建,標記B失敗 - 成功
嘗試建立,簽訂 - 成功

成績單:

CodeSign build/Debug-iphoneos/CPPlayer.app 
cd /Users/nick/CPPlayer 
setenv CODESIGN_ALLOCATE /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate 
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/usr/bin/codesign -f -s "iPhone Developer: Nick Overdijk (PM7C8QKTYS)" --resource-rules=/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app/ResourceRules.plist --entitlements /Users/nick/CPPlayer/build/CPPlayer.build/Debug-iphoneos/CPPlayer.build/CPPlayer.xcent /Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app 

/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app: object file format invalid or unsuitable 
Command /usr/bin/codesign failed with exit code 1

圖片:See here (imageshack gallery)

有什麼我可以錯過?任何想法如何發生?我現在得到了一切正常工作,這似乎是對我的問題的一種解決辦法,但我想了解正在發生的事情。

有時它也可以是這樣的:
編譯/登錄A - 成功
編譯/登錄A - 失敗
編譯/標記B - 成功(B似乎總是成功)
編譯/登錄A - 成功
編譯/登錄A - 失敗

所以,A的每一個成功構建後,我必須建立並簽署B到能夠再次登錄項目中。我可以連續多次重建項目B,它總是成功的。

我不知道它是否重要,而且當我嘗試在模擬器(iPhone OS 3.1.2的調試模式)中運行它時,它無法安裝其他時間。所以:

編譯/運行 - 失敗
編譯/運行 - 工程
編譯/運行 - 失敗
編譯/運行 - 工程

這也僅限於項目A,我可以建立和運行B項目儘可能多的我喜歡,我從來沒有得到安裝失敗的消息。

由於提前,
尼克

+0

入住概述彈出,看看是否有配置的第一個項目多個設備。如果這樣做,有可能一臺設備與您的供應配置文件/簽名證書相匹配,另一臺設備則不會,並且第二個項目針對正確的設備進行配置並將其設置爲您的活動設備。 此外,它有助於將鼠標懸停在協同設計步驟的右邊緣,透露談話內容,複製和粘貼。 – cdespinosa 2009-12-11 22:54:56

+0

謝謝!我不知道有這樣一個按鈕。成績單在原文中。除了項目名稱之外,概述沒有區別,它們都正在爲一個具有相同名稱的iPod簽名。 – Nick 2009-12-12 11:10:43

回答

10

問題可能是太多的info.plist文件。

我有同樣的問題(交替codesign成功和失敗)。

我已經添加了一個源代碼目錄到我的項目中,並在目錄上添加了「現有文件」。原來有一個信息。plist文件在目錄中,所以我現在有2個在我的項目中。我刪除了新項目並將其從項目中刪除,我的問題就解決了。

+0

你是我的英雄!非常感謝,事實確實如此。我打算制定目標,所以Info.plist包含在「目標目錄」中,但是我沒有創建目標,所以我確實有Info.plist和其他一些Info.plist(其他名稱,但我設置了xcode將該文件用作Info.plist)。謝謝一堆。 :) – Nick 2010-02-15 18:00:20

+1

你是我的英雄!它爲我工作。多謝老兄! – jcdmb 2011-05-06 17:24:33

+0

我不知道爲什麼我創建了另一個文件,如MyApp-Info.plist。感謝你! – yogsototh 2011-05-07 15:37:23

2

搜索特定的錯誤信息

object file format invalid or unsuitable 

我得到了這些鏈接:

http://www.galloway.me.uk/2009/04/json-framework-codesign-object-file-format-invalid-or-unsuitable/

這表明,你的ResourceRules.plist是沒有正確設置。這個解決方案似乎幫助了很多人解決這個問題。

+0

對不起,這並不能解決問題。仍然是同樣的問題。一次工作,然後我必須再次重建/簽署另一個項目(B)。項目B是一個iPhone應用程序,它顯示一個帶有一個可點擊單元格的表格視圖,點擊該單元格可將視圖更改爲另一個。一個教程程序真的。那裏沒什麼特別的。 – Nick 2009-12-13 16:21:44

+0

我不知道它是否有趣,但我也可以模擬該項目只試圖構建和運行兩次。它互相失敗。在原文中更清楚地解釋。 – Nick 2009-12-13 23:57:37

+0

謝謝我這解決了我的問題。 – 2010-03-03 15:57:04

0

確保你沒有超過一個Info.plist文件在你的目標!

2

我也與陷入困境的「命令/ usr/bin中/協同設計失敗,退出代碼1」的錯誤消息。

這是我如何解決它

的info.plist看看它的目標,單擊鼠標右鍵。確保左邊的框未經檢查。這是默認狀態。

瞄準文件沒有爲info.plist中很好地工作。

+0

這正是XCode 4中問題的解決方案!在目標 - >構建階段 - >複製捆綁包資源下移除plist。 – Sney 2011-04-01 01:54:03

+0

這也是我的解決方案。我認爲新的Xcode 4.2「乾淨設置」功能爲我的兩個目標添加了一個Info.plist,不得不撤銷這一更改。 – Pascal 2011-06-26 15:29:23

1

問題發生在我身上,試圖證書的每個組合,配置簡檔,清理和重新啓動,阻撓該死的系統並沒有告訴你是什麼問題。讓我繼續猜測。我的解決方案是上面引用的文章。

真是救了我在這裏找到這個

「可執行名稱」必須與「產品名稱」。謝謝。

+0

你救了我的一天! – Hedin 2011-06-24 14:02:32