我正在尝试迁移一些 iOS xcode 构建服务器以使用 Mavericks,这对于 xcode 6 构建至关重要。然而,使用以前在山狮中工作的代码调用 xcodebuild 似乎不再工作,并导致:
Code Sign error: No codesigning identities found: No codesigning identities
(i.e. certificate and private key pairs) that match the provisioning profile
specified in your build settings (“provision name”) were found.
我们的构建命令非常标准,并且证书已经到位,在山狮上执行完全相同的代码“正常工作”(注意我添加了换行符以提高可读性并替换了一些私有(private)数据,例如项目名称和配置):
/Applications/Xcode5.app/Contents/Developer/usr/bin/xcodebuild -project ProjectName.xcodeproj/
-alltargets -configuration Release -sdk iphoneos7.0 build
PROVISIONING_PROFILE=XXXX-XXXXX-XXXX-XXXX-XXXXXXX CODE_SIGN_IDENTITY="iPhone Distribution: name of company (XXXXXXXX)"
KEYCHAIN=/Users/administrator/Library/Keychains/temp.keychain OTHER_CODE_SIGN_FLAGS=--keychain /Users/administrator/Library/Keychains/temp.keychain
我有一个解决方法,它使用“已知工作”证书/配置进行签名,并在构建完成后使用 codesign 工具替换它们,但这会给用户带来一些我不知道如何解决的副作用。据我所知,上述内容应该可以工作,并且可能只是缺少一个我不知道的 xcodebuild 新参数。
Best Answer-推荐答案 strong>
小牛在调用时会忽略钥匙串(keychain)设置默认值:
security default-keychain
并且初始的 xcodebuild 检查逻辑会忽略命令行钥匙串(keychain)参数!
以下命令:
security list-keychains
不会返回您设置的钥匙串(keychain)。解决方法其实很简单:
security list-keychains -s /path/to/your/keychain
然后通过初始检查过程找到正确的证书。
关于ios - 无法在 Mavericks 下使用我自己的 kestore 和 xcodebuild,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25887883/
|