基于Cocoapods的iOS项目示例.travis.yml

时间:2015-05-31 06:35:18

标签: ios objective-c cocoapods travis-ci xctool

我有这个非常简单的iOS项目。它使用Cocoapods进行依赖关系管理,并将 AFNetworking 作为其依赖项之一。目前,我的项目代码只是做一个简单的http GET请求,测试(使用 Specta 编写)检查它是否成功。

现在,我正试图用Travis-CI来CI。我已经查看了xctool CI tutorialobjective-c CI manual from Travis-CI,我目前的 .travis-ci.yml 是:

language: objective-c
xcode_project: Foobar.xcodeproj
xcode_schema: Foobar

CI控制台的最后一行输出行为:

  

命令" echo"查看我们的文档以获取更多信息:http://about.travis-ci.org/docs/user/languages/objective-c/""退出0.
      完成。你的构建退出0。

在我看来,没有经过测试。我的.travis.yml肯定有问题。所以我的问题是:

  1. 有一个由Cocoapods生成的.xworkspace文件,我在.travis.yml,.xcodeproj或.workspace中使用哪一个?
  2. 使用哪种方案,FoobarFoobarTests
  3. 我还需要另外指定script: xctool ...命令吗?
  4. 来自xctool CI tutorial
      

    单击+按钮并将每个依赖项添加到项目中。 CocoaPods将显示为名为Pods的静态库。

  5. 我不能将Pods项目作为一个整体添加,而是每个独立项目。这是正确的吗?这是否意味着我每次向Podfile添加库时都必须这样做?

1 个答案:

答案 0 :(得分:0)

我在上面的@Schemetrical评论和我的.travis.yml评论的帮助下想出来了。结果是一个错字:xcode_schema应该是xcode_scheme ...

因此,这就是我的 .travis.yml

language: objective-c
xcode_workspace: Foobar.xcworkspace
xcode_scheme: Foobar

对于vanilla Cocoapods生成的项目/工作区,没有名为FoobarTests的方案,而只有一个名为Foobar的方案。所以这应该回答上面的问题1-3。

对于问题4,我只添加了两个额外的目标:Pods-FoobarPods-FoobarTests,它们应该包含Podfile中的所有依赖项。