2011-12-01 110 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” 。任何人有一个想法如何做到这一点? –