3

この非常に単純な iOS プロジェクトがあります。依存関係の管理に Cocoapods を使用しており、依存関係の 1 つとしてAFNetworkingが含まれています。現在、私のプロジェクト コードは単純な http GET リクエストを実行しているだけで、テスト ( Spectaを使用して記述) が成功するかどうかをチェックします。

今、Travis-CI で CI しようとしています。Travis-CI からxctool CI チュートリアルObjective-C 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. 使用するスキーム、FoobarまたはFoobarTests?
  3. script: xctool ...コマンドを追加で指定する必要がありますか?
  4. xctool CI チュートリアルから:

    + ボタンをクリックして、各依存関係をプロジェクトに追加します。CocoaPods は、Pods という名前の静的ライブラリとして表示されます。

Podsプロジェクト全体を追加することはできませんが、個々のプロジェクトごとに追加します。これは正しいですか?ライブラリをPodfileに追加するたびにやらなければならないということですか?

4

1 に答える 1

0

上記の@Schemetricalのコメントと、私の.travis.ymlのレビューの助けを借りて、それを理解しました。タイプミスがあることが判明しました:xcode_schemaすべきxcode_scheme...

その結果、ここに私の.travis.ymlがあります:

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

バニラ Cocoapods で生成されたプロジェクト/ワークスペースの場合、 と呼ばれるそのようなスキームはありませんがFoobarTests、 という名前のスキームは 1 つだけFoobarです。したがって、これは上記の質問 1 ~ 3 に答える必要があります。

質問 4 では、追加のターゲットを 2 つだけ追加しました:Pods-FoobarPods-FoobarTestsであり、それらには Podfile からのすべての依存関係が含まれている必要があります。

于 2015-05-31T08:11:33.887 に答える