2017年更新
コメントでskypecakesが言及しています:
XCode 8 以降を使用している場合:xctool
はサポートされなくなり、動作しません。代わりにxcodebuild
を
使用してください。
元の回答 (2013)
このチュートリアルを確認できます。説明は次のとおりです。
xctool
Travis CI や Jenkins などの継続的インテグレーション サーバーでテストを実行する場合に最適です。
継続的インテグレーション環境内でテストを実行するには、アプリケーション ターゲットの共有スキームを作成し、すべての依存関係 (CocoaPods など) が明示的にスキームに追加されていることを確認する必要があります。
そうするために:
- [製品] メニュー > [スキーム] > [スキームの管理...] を選択して、[スキームの管理] シートを開きます。
- リストでアプリケーション ターゲットを見つけます。シートの右端の列にある [共有] チェックボックスがオンになっていることを確認します。
- アプリケーションまたはテスト ターゲットに CocoaPods などのプロジェクト間の依存関係が含まれている場合は、それらが明示的な依存関係として構成されていることを確認する必要があります。そうするために:
- アプリケーション ターゲットを強調表示し、[編集...] ボタンをクリックして、Scheme 編集シートを開きます。
- スキーム エディターの左側のパネルにある [ビルド] タブをクリックします。
- + ボタンをクリックして、各依存関係をプロジェクトに追加します。CocoaPods は、Pods という名前の静的ライブラリとして表示されます。
- 依存関係をアプリケーション ターゲットの上にドラッグして、最初にビルドされるようにします。
xcshareddata/xcschemes
これで、Xcode プロジェクトの下のディレクトリに新しいファイルが作成されます。
これは、構成したばかりの共有スキームです。
このファイルをリポジトリにチェックインすると、xctool は次の CI ビルドでテストを見つけて実行できるようになります。
柔軟性を高めるために、Travis が xctool をインストールして呼び出す方法を制御することもできます。
language: objective-c
before_install:
- brew update
- brew install xctool
script: xctool -workspace MyApp.xcworkspace -scheme MyApp test
最後の構成は、この他のチュートリアルで説明されているアプローチに似ています。
レポをリンクしたら、次のステップは.travis.yml
レポのルートにファイルを追加することです。
language: objective-c
before_script: travis/before_script.sh
script: travis/script.sh
- まず、Travis に、これは Objective-C プロジェクトであることを伝えます。
- 次に、実際にビルドを実行するためにどのスクリプトを実行する必要があるかを指示することで、このリポジトリに対して CI を実行する方法を Travis に伝えます。
また、ビルドを実行する直前に何をすべきかについて、いくつかの追加の指示も示します。
すべてのビルド手順を .travis.yml ファイルにインラインで配置することは非常に一般的ですが、私は実際には git リポジトリの travis ディレクトリ内のリポジトリに bash スクリプトを作成し、.travis.yml
.
これにより、.yml
ファイルが適切に小さく保たれ、travis ビルド スクリプトをローカルで簡単にテストできるようになります。
before_script
上記の.yml
ファイルでTravis に a を与えました。これは、Travis エージェントがビルドの一部として必要なツールをダウンロードするために使用することを目的としています。外観は次のとおりです。
travis/before_script.sh
#!/bin/sh
set -e
brew update
brew install xctool
とてもシンプルです。xctool
homebrew を使用してビルド エージェントにインストールするだけです。
すべての travis ビルド エージェントはhomebrew
プリインストールされていますが、式が最新でない場合があるため、 を試すbrew update
前に を実行することをお勧めしbrew install
ます。
ビルド用にエージェントを準備するために必要なことはこれだけです。
次に、ビルド スクリプト自体を見てみましょう。
travis/script.sh
#!/bin/sh
set -e
xctool -workspace MyWorkspace -scheme MyScheme build test
繰り返しますが、これは本当に簡単です。最初に、ワークスペースとスキームを指定してアプリのビルドを要求
する
ことで、基本的なサニティ チェックを行います。
これは、コンパイル エラーがないことを確認するだけです。
成功すると仮定すると、アプリのユニット テスト ターゲットがビルドおよび実行され、必要に応じて Travis エージェントでシミュレーターが起動されます。xctool
xctool