ios - 无法在 Mavericks 下使用我自己的 kestore 和 xcodebuild

标签 ios xcode codenameone xcodebuild

我正在尝试迁移一些 iOS xcode 构建服务器以使用 Mavericks,这对于 xcode 6 构建至关重要。然而,使用以前在 Mountain Lion 中工作的代码调用 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

我有一个解决方法,可以使用“已知工作”证书/配置进行签名,并在构建完成后使用协同设计工具替换它们,但这会给用户带来一些副作用,我不知道如何解决。据我所知,上述内容应该有效,并且可能只是缺少我不知道的 xcodebuild 的新参数。

最佳答案

Mavericks 在调用时忽略默认设置的钥匙串(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/

相关文章:

ios - 用项目符号格式化 UILabel?

ios - 调用 [super viewWillAppear] [super viewDidLoad] 等的正确顺序是什么?

ios - 使用 XIB(Interface Builder)在 iOS 中进行本地化

ios - 快速打开文件

ios - 引用核心数据实体

iphone - 代码行之间的数据没有执行

c++ - 获取App路径,末尾不带应用名称

java - 根据实际Codenameone的组件宽度计算首选高度(2)

codenameone - 如何在CN1图表中制作虚线或虚线

codenameone - 使用 Codename One 设置十进制数字的格式