2014-10-20 117 views
9

我已經更新到OS X Yosemite和Xcode 6.1(從開發人員站點下載),從這時起,我遇到了與建築有關的問題,就像在日誌文件中看到的註釋「警告: - 在Mac OS X> = 10.10!中不推薦使用資源規則!」。有人知道如何使用沒有「資源規則」標誌的Xcode插件嗎?謝謝。詹金斯與Xcode插件 - codeign麻煩

+0

我也有這個問題。 – doogilasovich 2014-10-21 03:19:11

回答

14

Jenkins插件一切正常。只是產品設置不正確。

打開項目的「Build Settings」選項卡。搜索「代碼簽名資源規則路徑」,它對我來說是空的。更改爲:$(SDKROOT)/ResourceRules.plist

學分去亞當斯布萊爾誰與SDK2.2

說明這個問題

https://stackoverflow.com/a/7919137/2124345

更新

該解決方案不會刪除警告本身。但我很確定警告不是問題。問題是如果沒有這個設置,ResourceRules.plist文件不會在Payload文件夾中生成,並且生成過程會因爲缺少文件而停止。

而且,它與jenkins插件完全沒有關係。 xcrun -sdk iphoneos PackageApplication發生同樣的錯誤。詹金斯把這個命令行稱爲構建步驟。

+0

謝謝朱利葉斯的解釋,我從未使用過「代碼簽名規則路徑」,我有這個字段總是空的。另外,我對Apple技術說明TN2206感到困惑 - 「不要使用--resource-rules標誌或ResourceRules.plist,它們已經過時並且會被拒絕。」我已經回到了Maverick和Xcode 6.0.1,當我有新的環境時,我會嘗試你提到的解決方案。 – zskalnik 2014-10-21 11:55:14

+0

如果您沒有Xcode項目,該怎麼辦?當Xcode調用codesign工具時它實際上運行了什麼? – Trejkaz 2015-05-01 05:27:02

1

another answer中所述,您也可以不指定分發證書進行簽名,並且它將正確打包。

2

由Julius Lisauskas提供的答案將解決警告,但它實際上只是解決了Jenkins Xcode插件 xcrun中中存在的一個錯誤。

Apple Technical Note TN2206提到:

系統之前OS X小牛記錄了簽名功能 (--resource規則),以控制在一個束哪些文件要密封 由代碼簽名。這個功能已經被小牛淘汰了。 在小牛隊製作的代碼簽名,後來總是密封 包中的所有文件;沒有必要再明確指出這一點。此 也意味着代碼簽名資源規則路徑生成設置 Xcode應該不再使用,應該留空。

因此不可能從 簽名中排除一部分包。只有在簽署 後,套餐纔會被視爲只讀。

有一個issue raised on the Jenkins Xcode plugin關於這個bug的結論是錯誤在於Xcrun。