最近、新規の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テスト段階でビルドに失敗します。
2. bitriseにアプリ追加
(もし追加済みであれば、次節をご覧ください)
bitriseにログインし、ビルドしたいiOSアプリを新規作成します。
URL: https://app.bitrise.io/apps/add
- アカウント設定
1.1. CHOOSE ACCOUNT: bitriseのアカウント
1.2. SET PRIVACY OF THE APP: アプリに合わせ、public/private のどちらかを選んでください - Connect your repository設定
2.1. タブ: GitHub
2.2. ORGANIZATIONS' REPO: ビルドしたいiOSアプリのオーナー名/リポジトリを選択 - Setup repository access:
No, auto-add SSH key
(自動的にSSH接続用のキーが当該リポジトリで作成されます)※ - Choose branch: mainもしくはmaster
- Project build configuration: iOSになっていることを確認します。
- Select Distribution method: ad-hocなどを選び、Confirm
- App icon: Skip for Now (すでにアプリのアイコンがあれば、ここで設定することができます)
- Webhook setup:
Register a Webhook for me!
(GitHubでのPush, Pull Request時のCIビルドをトリガーさせるために必要です) - FINISHを選択
※ 操作しているアカウントが、GitHubの当該リポジトリに対してAdmin権限を持っている必要があります。Admin権限があるユーザでアプリ追加するか、bitrise Docsに従ってSSHキーを作成してください。
3. Workflow Editor設定
3.1. Stackの設定
Workflows > Stack > Default Stackで Xcode 13.x.x...
を選択します。マイナーバージョンはローカルで使っているXcodeのバージョンに合わせてください。
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側と被らないようにしておきます。
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
- Scheme:
- IPA export configuration
- Developer Portal team:
$APP_TEAM_ID
- Developer Portal team:
- Input Variables
※ バージョン4.0から、export_methodはdistribution_methodに変わっています。 詳しくはリリースノートのRenamed some inputs for consistency across Xcode steps (without any behavior change)
の節をご覧ください。
-
現在、ADEPを新規取得するのは困難のためenterpriseを使うことは無いかもしれません。代わりにカスタムAppを使うことになります https://developer.apple.com/jp/custom-apps/ ↩