2

我只是在学习如何在 xcode 5 中设置我的持续集成机器人并且度过了一段非常糟糕的时光。首先,我在代码签名身份方面遇到了问题,但是在阅读了这篇很棒的博客文章之后,这个问题就消失了。

邮政:

http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/#comment-21

现在,在修复了这些错误之后,又出现了其他错误。每次我整合时,我都会收到这样的警告:

无法打开文件“Pods.xcconfig”,因为没有这样的文件。

而且我还收到一个错误,说找不到 pod 的标头。我认为此错误是先前警告的结果。

一切都在本地完美运行,在设备上运行,存档,只有当我尝试与机器人集成时才会出现问题。

我应该在 PodFile 中添加一些东西吗?还是osx服务器本身的东西?

在我为此发疯之前我真的需要帮助!

谢谢你。

4

2 回答 2

1

更好的解决方案是添加一个仅通过服务器使用的新方案(复制您的正常方案)。然后选择选项管理方案,展开“构建”并使用以下代码添加新的预操作:

cd ${SRCROOT}
echo "Installing Pods"
pod install

你可以在这里更新和许多其他的东西。唯一的问题是它更新的版本有旧内容,你必须再次点击集成。请记住保持共享此方案。

--edit-- 你必须提交这个并在这个方案上运行机器人(你可以在你的服务器 -> safari 本地 xcode bot url -> 设置 -> 方案中更改它。

于 2013-12-03T09:44:37.203 回答
0

您收到此错误是因为您的 mac 服务器没有在 Xcode 机器人检出它们的目录中创建 pod。这是符合预期的,因为将结果签pod install入到您的源代码控制系统中会很奇怪。我无法找到让 BOT 运行pod install/update命令的方法,所以我想出了以下解决方法:

  • 确保在每次集成之前将您的机器人配置为不清理
  • 运行您的机器人,然后在生成的日志中搜索文件被签出的路径。
    • 搜索“IDEDerivedDataPathOverride” 该路径将以 /DerivedData 结尾,如果您查看其父文件夹,您将看到一个“源”文件夹。这是您的机器人将继续为您的项目检查更新的地方
    • 注意:源目录归您的服务器用户所有,您需要以该用户身份访问它。使用su命令执行此操作
  • 如果你还没有在你的 mac 服务器上安装 cocoapods
  • 在 mac 服务器上,在上面找到的源目录中,导航到 Podfile 所在的位置
  • 运行pod install并确保安装了所有指定的 pod
    • 仔细检查新创建的 pod 目录的文件权限,并确保它们与其他文件属于同一用户。chown必要时用于修复
  • 启动 Bot 并观看它成功完成!

此解决方案的唯一问题是,如果曾经执行过清理,您将需要pod install再次运行。这对今晚来说已经足够了,我将不得不寻找一种方法来编写 pod 安装脚本,稍后使用 bot 定义中使用的 Scheme 的 Build 部分中的 Pre-actions。

于 2013-11-12T07:23:59.533 回答