2011-12-01 46 views
5

我在使用通過命令行指定的代碼時覆蓋在Xcode構建設置中指定的代碼簽名標識和設置配置文件時遇到問題。使用命令行指定PROVISIONING_PROFILE時出錯xcodebuild

我目前做:

xcodebuild -target "#{XTARGET}" -sdk iphoneos#{SDK_VERSION} -configuration #{config} CODE_SIGN_IDENTITY="#{DEVELOPER}" 

如果Xcode的構建設置設爲「不代碼標誌」,這完美的作品。但是,如果它被設置爲除了我指定爲DEVELOPER的身份之外的身份,則失敗。請注意,我不想打開Xcode以使用此腳本生成構建版本。但是,我現在必須確保Build Settings顯示「不要編碼」。

我想我需要找到一種方法,還可以指定通過xcodebuild聯編的供應配置文件,但是當我寫:

xcodebuild -target "#{XTARGET}" -sdk iphoneos#{SDK_VERSION} -configuration #{config} CODE_SIGN_IDENTITY="#{DEVELOPER}" PROVISIONING_PROFILE="#{PROFILE}" 

命令失敗,並表示該供應配置文件不能被發現。即使它在適當的地方。我試過指定完整路徑,相對路徑,只是文件名。當我在xcrun命令中指定此配置文件時,它將起作用。但是這對於xcodebuild來說是不可行的。

任何想法?

回答

8

不確定您是否找到答案,但是我發現這樣:本地(到您的計算機)配置文件有一個唯一標識符,您可以將它傳遞給PROVISIONING_PROFILE設置。如果您打開XCode,則可以找到此字符串,在「代碼簽名」(在構建設置中)下選擇您的代碼簽名。在代碼簽名彈出窗口中選擇代碼簽名值(與您的配置文件相關聯)後,如果選擇「其他...」,它將顯示如下內容:

iPhone分發: ABCDEFJ-1234-5678 -A382-ABDEWKEKEKE

如果你把第二行('ABCD ...')放到XCode中的PROVISIONING_PROFILE命令中,它應該可以工作。不過,我假設,如果您更新了配置文件,則需要確保確定該值並更新您傳遞給Xcode的內容。

+0

克里斯托弗,非常感謝您發佈此信息。我認爲這是問題的關鍵。由於我自動安裝配置文件,因此我可以自動提取這個字母數字標識符。謝謝! –

+1

我試圖自動化提供Git提供的分發配置文件到Xcode,並且無法通過任何方式告訴Xcode:「將此文件存儲爲好像我已將其拖放到Organizer中並將其ID」 。任何人有一個想法如何做到這一點? –