在Xcode服务器

时间:2015-07-27 03:37:33

标签: xcode bots carthage xcode-server

将Xcode 7B4和Server 5B4与Carthage项目一起使用。要构建项目,我需要首先构建它的依赖项。所以我使用以下代码向bot添加了Before Integration步骤:

echo "Bootstrapping dependencies..."
export PATH=$PATH:/usr/local/bin
cd Alchemic
carthage bootstrap --use-ssh --use-submodules
echo "Ready."

自己运行一切都有效。但是当机器人运行时,我得到了这个:

  

CodeSign错误:未找到代码签名身份:找不到有效的签名身份(即证书和私钥对)。
   CodeSign错误:产品类型需要代码签名'框架'在SDK' iOS 9.0'中   shell任务失败,退出代码为65

检查机器人我自己作为团队并扫描服务器目录,它似乎具有所有必需的配置文件。所以我猜测服务器的用户无法访问密钥或类似的东西。

有没有人知道我可能缺少什么?

4 个答案:

答案 0 :(得分:12)

我有类似的问题。我的解决方案是:

  1. 从本地计算机上的Xcode ,打开Preferences - > Accounts - >双击与您的苹果ID相关联的团队(您需要一个:)) - >在Signing identity面板中,选择一个标识,然后点击export的cog图标。将其保存到文件中。
  2. 将生成的.p12文件上传到您的构建计算机,并将其添加到系统钥匙串(而不是用户的),方法是将其拖至< em> Keychain Access 窗口
  3. 在构建计算机 Keychain Access 上,导航到刚刚安装的证书(它应位于System - &gt; Certificates下)并单击箭头在名称旁边展开并查看私钥。右键单击键 - &gt; Get info - &gt; Access control标签,允许所有应用访问此项(可能不安全)或将codesign应用添加到允许使用此密钥的应用列表中
  4. 确保在构建计算机上的服务器上启用XCode部分并将其添加到该证书的相应开发团队。

答案 1 :(得分:1)

我遇到了与Xcode Server机器人和代码签名类似的问题。我正在运行Server 5.1和Xcode 7.3。最终帮助我完成这些工作的是这篇博文:http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

即,帖子中最有用的部分是:

  1. 确保将配置文件复制到位于以下位置的Xcode Server目录:/Library/Developer/XcodeServer/ProvisioningProfiles/ Xcode Server无法看到Xcode自动从开发人员门户下载到~/Library/MobileDevice/Provisioning Profiles的配置文件。您可以将这些复制到位或手动从网上下载并移动它们。
  2. 确保签名密钥(私钥)和证书位于系统钥匙串中。同样,Xcode在您的用户帐户的上下文中创建这些。如果您在服务器上使用Xcode生成它们,则只需将它们从登录钥匙串复制到系统。如果您使用.p12从其他计算机导入,请确保导入Keychain Access中的系统钥匙串。
  3. 有关详细信息,请查看该博文。它真的帮助了我。

答案 2 :(得分:0)

如果其他答案似乎都不起作用,请确保已选择最新的Command Line Tools

Xcode首选项->位置->命令行工具

Command Line Tools Screenshot

答案 3 :(得分:-2)

这很容易。转到XCode首选项 - &gt;帐户 - &gt;单击Apple ID并按查看详细信息按钮按结束时按刷新完成。会没事儿的。 enter image description here