メインコンテンツまでスキップ

iOSプロジェクトを使い始める

iOS向けの開発は複雑ですが、できるだけ簡単に行えるようにすることを目指しています。このガイドでは、iOSプロジェクトをBitriseに追加する方法、Xcodeテストを実行する方法、code signingファイルを管理する方法、そして完成したアプリをbitrise.ioとApp Storeにデプロイする方法について説明します。

Bitriseへのfastlaneの統合

Bitrise上でも、ローカルで使用するのと同じコマンドでfastlaneのlaneを実行できます。Bitriseの自動化されたStepにより、laneに追加機能が提供され、ビルドが高速化されます。詳細はfastlaneをご覧ください。

iOSプロジェクトをBitriseに追加するClick to copy link​

他のプロジェクトと同じ方法でプロジェクトを追加します。ウィザードの全手順については新しいプロジェクトの追加を参照してください。このセクションでは、iOS固有の内容について説明します。

スキャナーがiOSプロジェクトを検出する仕組みClick to copy link​

プロジェクトスキャナーは.xcodeprojファイルと.xcworkspaceディレクトリを探し、それぞれのビルド設定を確認します。SDKROOTがiphoneosに設定されている場合(またはSUPPORTED_PLATFORMSにそれが含まれている場合)、スキャナーはそのプロジェクトをiOSとして登録します。すでにworkspaceのメンバーになっているプロジェクトは、workspaceがそれをカバーするため、個別には表示されません。

リポジトリにXcodeプロジェクトもworkspaceもない場合、スキャナーはPackage.swiftファイルにフォールバックし、それをSwiftパッケージとして扱います。また、CocoaPods用のPodfileやCarthage用のCartfileも検出し、生成されるWorkflowを調整してこれらの依存関係をインストールします。

設定できる項目Click to copy link​

CI configurationの段階では、ウィザードに以下が表示されます。

  • Project or workspace path: ビルド対象の.xcodeproj、.xcworkspace、またはPackage.swiftファイル。
  • Scheme name: プロジェクトまたはworkspace内で見つかった共有スキーム。スキャナーが検出できるのは共有スキームのみで、ユーザー固有のスキームは検出できません。
  • Distribution method: Bitriseがアプリをエクスポートする方法(App Store、Ad Hoc、Enterprise、Developmentなど)。Swiftパッケージはアーカイブされないため、このオプションは表示されません。

iOSアプリをテストするClick to copy link​

テストターゲットが定義されている場合、iOSプロジェクトのdefault Workflowsには、Xcodeテストを実行し、その結果をbitrise.ioで確認するために必要な2つのStepsが含まれます。

  • Xcode Test for iOS
  • Deploy to Bitrise.io

Xcode Test for iOSStepは、あらかじめ定義されたXcodeテストを実行します。デフォルトの設定は変更する必要がなく、テストが正しく記述されていればそのまま動作します。同じ設定オプションはXcodeでも確認できます。

選択したスタックを確認する

プロジェクト用に選択したスタックが、プロジェクトのビルドに使用したものと同じXcodeバージョンであることを確認することをお勧めします。たとえば、シミュレーターテストがIneligible destinations for the schemeというメッセージで失敗する場合は、Stacks & MachinesセクションのXcodeバージョンが正しいことを確認してください。スタックの詳細については、ビルドスタックをご覧ください。

Deploy to Bitrise.ioStepは、ビルドのLogsタブとArtifactsタブに以下をデプロイします。

  • Xcodeテスト結果。
  • xcodebuildoutputの生ログ。

Deploy to Bitrise.ioStepは、Xcode Test for iOSStepの結果をテストレポートにもエクスポートします。

Xcodeプロジェクト用の署名済みIPAを作成するClick to copy link​

BitriseにおけるiOS code signingの概要

code signingアセット管理に利用できるStepsの全体像については、iOS code signingページをご覧ください。

Bitriseを使用すると、Xcodeプロジェクト用の署名済みIPAファイルを簡単に作成できます。

配布用および開発用のsigning certificateをアップロードする

プロジェクトの開発用と配布用の両方のsigning certificateをアップロードすることを強くお勧めします。開発用のsigning certificateがアップロードされていない場合、自動プロビジョニングオプションを使用したStepsは、ビルドを開始するたびにその場で1つ生成します。これが続くと、証明書の上限に達し、新しいビルドを開始できなくなる可能性があります。

準備が整ったら、WorkflowでIPAのエクスポートを設定します。

  1. 必要なcode signingファイルが収集およびアップロードされていることを確認します。

  2. WorkflowにXcode Archive & Export for iOSStepがあることを確認します。

  3. StepのDistribution method入力を設定します。

    xcode-archive.png

    オプションは次のとおりです。

    • app-store: アプリをApp Storeにデプロイする場合に選択します。Distribution証明書とApp Storeのプロビジョニングプロファイルが必要です。
    • ad-hoc: アプリをアドホックテスターにデプロイする場合に選択します。Distribution証明書とAd Hocのプロビジョニングプロファイルが必要です。
    • enterprise: AppleのEnterpriseアカウントを持っていて、それを使用してアプリを配布する場合に選択します。
    • development: 社内テスト用に選択します。Developer証明書とDevelopmentのプロビジョニングプロファイルが必要です。
  4. Automatic code signing入力に、code signingに使用するApple service connectionを設定します。使用できるオプションは次のとおりです。

  5. Workflowを保存し、新しいビルドを開始します。

以上で完了です。Xcodeは、プロジェクトのBundle IDとTeam IDの設定、および設定したエクスポート方法に基づいて、適切な署名ファイルを自動的に選択します。

別のチームのcode signingファイルでIPAファイルに署名するClick to copy link​

別のチームのcode signingファイルでIPAファイルに署名したい場合があります。例:

  • 社内ビルドには自社のcode signingファイルを使用するが、App Store配布にはクライアントのcode signingファイルを使用する場合。
  • automatic code signingにApple IDを使用していて、Apple IDが複数のチームに属している場合は、The Developer Portal team to use for this export入力を使用して、automatic code signingのアセット管理にどのチームを使用するかを指定します。

これを行うには:

  1. 新しい開発チームの適切なcode signingファイルがBitriseにアップロードされていることを確認します。
  2. Distribution methodに加えて、The Developer Portal team to use for this exportオプションも設定します。
  3. Distribution methodを設定します。

アプリをApp Store ConnectにデプロイするClick to copy link​

アプリをApp Store Connectにプッシュするたびに、ビルド番号とバージョン番号の組み合わせが一意である必要があります。デプロイする前に、どちらか一方、または両方をインクリメントしてください。

  1. Apple Developer アカウントへの接続が正常に動作していることを確認してください。

  2. 自分のマシンで IPA ファイルを少なくとも一度生成してください。

  3. 必要な code signing ファイルをすべて Bitrise にアップロードしてください。

    アプリをApp Store Connectにデプロイするには、Distribution タイプの証明書と App Store タイプのプロビジョニングプロファイルが必要です。

  4. Xcode Archive & Export for iOS Step が Workflow に含まれていることを確認してください。

  5. Automatic code signing 入力に、code signingに使用するApple service connectionを設定してください。選択できるオプションは次のとおりです。

    • off: automatic code signingを使用しない場合、または Step inputs を Apple サービス認証にのみ使用する場合に指定します。
    • api-key: API キー認証を使用する場合に指定します。
    • apple-id: Apple ID 認証を使用する場合に指定します。
  6. Stepの Distribution method 入力を app-store に設定してください。

    Stepは、エクスポートした .ipa ファイルのパスを $BITRISE_IPA_PATH 環境変数に保存します。

  7. Deploy to App Store Connect Stepを Workflowに追加してください。

  8. 必須の入力を入力してください。

    • アプリの Apple ID または Bundle ID のどちらかが必須の入力です。いずれか一方を指定する必要があります。
    • Submit for Review を yes に設定すると、Stepは App Store Connect での提出物の処理が完了するまで待機し、その後、指定したバージョンのアプリを審査に提出します。
    • Skip App Version Update 入力のdefault valueは No です。アプリのバージョン番号を別の方法でインクリメントした場合にのみ変更してください。
    • 複数のチームにリンクされた App Store Connect アカウントを使用している場合は、Team ID または Team 名のいずれかを指定してください。
  9. ビルドを開始してください。

すべて問題なく完了すると、アプリは App Store に提出され、Testflight または App Store 経由で配布できます。