iOS プロジェクトのチュートリアル

以下のセクションに沿って、CircleCI を使用して iOS アプリケーション プロジェクトのビルド、テスト、デプロイを自動化する方法について説明していきます。

メモ:macOS 上の iOS アプリケーションのテスト」や「iOS プロジェクトのチュートリアル」も併せてご覧ください。

概要

アプリケーションで xcodebuild を使用するジョブとステップを記述する方法、CircleCI 環境でコード署名とプロビジョニングプロファイルを設定する方法、および fastlane を使用してデプロイする方法について、順番に説明していきます。

前提条件

  • CircleCI にプロジェクトを追加します。 詳細については「Hello World」を参照してください。
  • このチュートリアルは、対象のプロジェクト用の Xcode ワークスペースに少なくとも 1 つの共有スキームがあり、選択されたスキームにテスト アクションがあることを前提としています。 まだ共有スキームがない場合は、以下の手順に従って Xcode に共有スキームを追加してください。
  1. プロジェクトの Xcode ワークスペースを開きます。
  2. 下図のように、Scheme Selector を使用してスキームの管理ダイアログ ボックスを開きます。Xcode Scheme Selector
  3. スキームの管理ダイアログで、ビルドするスキームを選択し、[Shared (共有)] チェックボックスをオンにします。スキームの管理ダイアログ
  4. スキームをコミットし、プッシュします。

テストの実行

iOS プロジェクトでは、fastlane Scan を使用して以下のようにテストを実行できます。

jobs:
  build-and-test:
    macos:
      xcode: "9.3.0"
    steps:
      ...
      - run:
          name: テストの実行
          command: fastlane scan
          environment:
            SCAN_DEVICE: iPhone 6
            SCAN_SCHEME: WebTests

サポートされるバージョンの一覧は、iOS アプリのテストに関するドキュメントの「サポートされている Xcode のバージョン」セクションで確認してください。

コード署名と証明書

詳細については「iOS プロジェクトのコード署名の設定」を参照してください。

To further customize your build process to use custom tools or run your own scripts, use the config.yml file, see the Sample 2.0 config.yml document for customizations.

依存関係のインストール

たとえば Homebrew から依存関係をインストールする場合は、run ステップを使用して適切なコマンドを指定します。

    steps:

      - run:
          name: Homebrew 依存関係のインストール
          command: brew install yarn

      - run:
          name: Node 依存関係のインストール
          command: yarn install

テストの実行

以下の短い run 構文例のように、run ステップを使用してテストを実行することもできます。

    steps:

      - run: fastlane scan

デプロイ

fastlanegymdeliver を使用して CircleCI でアプリケーションをデプロイするには、識別子、リリースを実行するブランチまたはパターン、および複数のコマンドを指定してリリースを実行します。

version: 2.1
jobs:
  test:
    macos:
      xcode: 11.3.0
    steps:
      - checkout
      - run: fastlane scan
  deploy:
    macos:
      xcode: 11.3.0
    steps:
      - checkout
      - deploy:
          name: Deploy
          command: fastlane release_appstore

workflows:
  test_release:
    jobs:
      - test
      - deploy:
          requires:
            test
          filters:
            branches:
              only: release

高度な構成

iOS プロジェクトの高度な設定の詳細については、macOS 上の iOS アプリケーションのテストに関するドキュメントを参照してください。

GitHub 上のサンプル アプリケーション

CircleCI 2.0 で fastlane を使用して iOS プロジェクトをビルド、テスト、および署名する例については、circleci-demo-ios の GitHub リポジトリ を参照してください。



ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースで、GitHub で使用できます。 ご協力いただき、ありがとうございます。


クリエイティブ・コモンズ・ライセンス
CircleCICircleCI ドキュメントは、クリエイティブ・コモンズの表示--非営利-継承 4.0 国際ライセンス に基づいてライセンス供与されています。