7

在Carthage项目中使用 Xcode 7B4 和 Server 5B4 。要构建项目,我需要首先构建它的依赖项。因此,我使用以下代码向机器人添加了集成前步骤:

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' 中的产品类型 'Framework' 需要代码签名
外壳任务失败,退出代码为 65

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

有谁知道我可能会错过什么?

4

4 回答 4

12

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

  1. 在本地机器上的Xcode中,打开Preferences-> Accounts-> 双击与您的 Apple ID 关联的团队(您需要一个 :))-> 在Signing identity面板中,选择一个身份并单击 cog 图标export。将此保存到文件中。
  2. .p12将生成的文件上传到您的构建机器,并将其添加到系统钥匙串(而不是用户的),方法是将其拖动到钥匙串访问窗口
  3. 在构建机器Keychain Access上,导航到您刚刚安装的证书(它应该在System->下Certificates),然后单击名称旁边的箭头以展开并查看私钥。右键单击该键-> Get info->Access control选项卡,然后允许所有应用程序访问此项目(可能不安全)或将应用程序添加codesign到允许使用此键的应用程序列表中
  4. 确保在构建机器上的服务器XCode上启用该部分并将其添加到该证书的相应开发团队中。
于 2015-08-03T12:00:35.573 回答
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中的系统钥匙串。

有关更多详细信息,请查看该博客文章。它真的帮助了我。

于 2016-08-17T07:53:10.007 回答
0

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

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

命令行工具截图

于 2020-07-21T14:05:17.830 回答
-2

这很容易。转到 XCode Preferences -> Accounts -> 单击您的 Apple ID 并按查看详细信息按钮最后按刷新按完成。会没事儿的。在此处输入图像描述

于 2015-07-27T03:55:44.357 回答