LoginSignup
2
1

More than 1 year has passed since last update.

Xcode 13で作ったプロジェクトでbitriseでのCIビルドに対応する

Last updated at Posted at 2022-03-09

最近、新規のiOSアプリをxcode13を使って開発しました。Xcode 13でbitriseのCIビルドについて設定方法が見つからなかったので、備忘録として展開します。

前提

  • 以下の説明では、ソースコードはGitHub上で管理されているものとします。ただし、他のバージョン管理システム(Bitbucket, GitLab, etc.)も使用可能です。
  • すでにbitriseのアカウントを設定していて、GitHubに対して接続完了している状態とします。

1. Xcode上でTests iOSが実行できるよう設定

アプリのTARGETS設定にて、Tests iOS > Target Applicationを一度Noneにしてからアプリ名に指定し直す必要があります。デフォルト設定の場合、UITargetAppPath should be providedとなり、UIテスト段階でビルドに失敗します。

Tests iOSを実行できるよう、TARGETSからTarget Applicationを再設定する

2. bitriseにアプリ追加

(もし追加済みであれば、次節をご覧ください)

bitriseにログインし、ビルドしたいiOSアプリを新規作成します。

URL: https://app.bitrise.io/apps/add

  1. アカウント設定
    1.1. CHOOSE ACCOUNT: bitriseのアカウント
    1.2. SET PRIVACY OF THE APP: アプリに合わせ、public/private のどちらかを選んでください
  2. Connect your repository設定
    2.1. タブ: GitHub
    2.2. ORGANIZATIONS' REPO: ビルドしたいiOSアプリのオーナー名/リポジトリを選択
  3. Setup repository access: No, auto-add SSH key (自動的にSSH接続用のキーが当該リポジトリで作成されます)※
  4. Choose branch: mainもしくはmaster
  5. Project build configuration: iOSになっていることを確認します。
  6. Select Distribution method: ad-hocなどを選び、Confirm
  7. App icon: Skip for Now (すでにアプリのアイコンがあれば、ここで設定することができます)
  8. Webhook setup: Register a Webhook for me! (GitHubでのPush, Pull Request時のCIビルドをトリガーさせるために必要です)
  9. FINISHを選択

※ 操作しているアカウントが、GitHubの当該リポジトリに対してAdmin権限を持っている必要があります。Admin権限があるユーザでアプリ追加するか、bitrise Docsに従ってSSHキーを作成してください。

3. Workflow Editor設定

3.1. Stackの設定

Workflows > Stack > Default Stackで Xcode 13.x.x...を選択します。マイナーバージョンはローカルで使っているXcodeのバージョンに合わせてください。

Workflow Editorのstackから、Default StackをXcode 13以上にする

3.2. Code Signing設定

アプリ署名用のProvisioning ProfileおよびCertificatesを追加します。

3.2.1. Provisioning Profile設定

向け先ごとにProvisioning Profileを追加します。向け先は以下のとおりです。

  • 開発用(development)
  • 社内配布用(ad-hoc)
  • 一般配布用(app-store)
  • 企業配布用(enterprise)1

Workflows EditorのCode Signingを選択します。PROVISIONING PROFILEの節について、Add Provisioning Profile(s)からProvisioning Profileのファイルをアップロードします。

3.2.2. Certificates設定

3.2.1.に続き、Code Signingからコード署名用の秘密鍵(.p12)をアップロードしておきます。

3.3. Env Vars設定

Env Varsを開き、以下の様に設定します。

3.3.1. App Environment Variables: 共有設定

  • BITRISE_PROJECT_PATH: xcodeprojファイルへのパスです。例えば、(プロジェクト名)/(プロジェクト名).xcodeprojです。
  • APP_TEAM_ID: Apple DeveloperのTeam IDです。後述のDeveloper Portal teamで指定します。bitrise側と被らないようにしておきます。

App Environment Variablesでプロジェクトファイルパス、Team IDを設定する

3.3.2. Workflow Environment Variables: ビルドの向け先ごとの設定

向け先毎(Workflow毎)に、以下の設定を行います。

  • BITRISE_SCHEME: アプリをビルドするためのschemeです。
    • 開発環境向けリリースビルドなら"devRelease", 本番環境向けリリースビルドなら"proRelease"などを設定します。ご自身のビルドスキームに合わせてください。
  • BITRISE_DISTRIBUTION_METHOD: アプリの配布方法です。Provisioning Profileのtype(development, ad-hoc, app-store, enterprise等)に対応します。

3.4. Workflows設定

  • Certificate and profile installerの直後にXcode Archive & Export for iOS xcode-archive@4を追加します。バージョンは4.0以上にしてください。4.0未満はXcode 13に対応していません。
  • xcode-archive@4について、以下の設定を行います。
    • Input Variables
      • Scheme: $BITRISE_SCHEME
      • Distribution method ※: $BITRISE_DISTRIBUTION_METHOD
    • IPA export configuration
      • Developer Portal team: $APP_TEAM_ID

※ バージョン4.0から、export_methodはdistribution_methodに変わっています。 詳しくはリリースノートRenamed some inputs for consistency across Xcode steps (without any behavior change)の節をご覧ください。

  1. 現在、ADEPを新規取得するのは困難のためenterpriseを使うことは無いかもしれません。代わりにカスタムAppを使うことになります https://developer.apple.com/jp/custom-apps/

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1