🐡
Bitrise で Flutter iOS アプリの Build & TestFlight の勘所 (2022.12)
Bitrise で Flutter の iOS アプリをビルドしてTestFlightにアップロードするワークロードの必要最小限の設定です。Automatically manage signing
が有効なプロジェクトにも対応しています。
Bitrise の設定
アカウント設定
- Apple Service connection
- API keys (RECOMMENDED) を設定する
- API key の作成はこちら https://help.apple.com/app-store-connect/#/dev265ade82a
アプリ > App Settings
- Integration
- Connection to Apple services で👆と同じAPIを設定する
アプリ > Workflow Editor
Code Signing > CODE SIGNING CERTIFICATES から証明書を追加する
- Xcode のプロジェクト設定で
Automatically manage signing
が有効な場合- 開発用証明書(Apple Development)
- Xcode のプロジェクト設定で
Automatically manage signing
が無効な場合- 開発用証明書(Apple Development)
- 配布用証明書(Apple Distribution)
主要なワークフローと必要な設定
- Certificate and profile installer
- Flutter Install
- Flutter Build
- Input variables > Platform
ios
- iOS Platform Configs > iOS output artifact type
app
- Input variables > Platform
- Xcode Archive & Export for iOS
- Input variables > Project path
./ios/Runner.xcworkspace
- Input variables > Scheme
Runner
- Input variables > Distribution method
app-store
- Automatic code signing > Automatic code signing method
api-key
- Input variables > Project path
- Deploy to App Store Connect - Application Loader (formerly iTunes Connect)
- Input variables > Bitrise Apple Developer Connection
-
automatic
orapi-key
-
- Input variables > Bitrise Apple Developer Connection
補足
Automatically manage signing
による挙動の違い
Xcodeプロジェクトの -
ON の場合
- Cloud signing を使って Apple のサーバー上で署名される
- 署名に使われた配布用証明書(Apple Distribution)や Provisioning Profile は Apple のサーバー上で管理され、自分の Apple Developer アカウントの管理画面からは参照できない
-
OFF の場合
- Bitrise が作成した Provisioning Profile を使って署名が行われる
Bitrise iOS app-store - (Bundle ID)
Bitrise iOS development - (Bundle ID)
- 作成された Provisioning Profile は Apple Developer の管理画面から確認できる
- Bitrise が作成した Provisioning Profile を使って署名が行われる
ExportOptions.plist を用意しなくても良いか?
プロジェクトやワークフローの設定をもとにビルド時にBitriseが ExportOptions.plist を生成しているので不要
Discussion