数年ぶりにFlutterを試してみたら、思いの外快適で安定している。大規模なアプリでどこまで使えるのかはわからないが、少なくとも趣味で片手間にアプリを書く程度ならかなり良さそうだ。勉強がてら何かしらアプリを一つ作りたいと思い、年末頃から週末の空いた時間に開発を続けているのだが、ようやくそろそろリリースが見えてきた。
アプリのリリースビルド〜AppStoreへのアップロードはちょっとした懸念だったのだが、幸いiOSの方はネイティブアプリの方での経験が多少あるからか、そこまで苦戦することはなかった。ただし、Xcode Cloudのワークフロー設定は若干苦戦した。
https://docs.flutter.dev/deployment/cd#xcode-cloud
幸い、Flutterの公式ドキュメントにはXcode Cloudのワークフローの設定方法が載っているので、基本的にはこの内容に従えば良い。具体的には、ビルドの前にCustom Build Scriptの仕組みを使ってビルドに必要な環境の構築の処理を設定することになる。
公式ドキュメントに書かれているスクリプトは外部ライブラリのビルドのためにプロジェクトにCocoaPodsがインテグレートされた状態を想定したものになっている。CocoaPodsを使っていないプロジェクトの場合は、pod install
の処理を消さないとエラーが起きてしまう。(またcocoapodsのインストール自体も不要だ)
また、Flutter側でFlavorを使っていたり、dart-define / dart-define-from-file を使っている場合も、このビルド前スクリプト内で適宜flutter buildを実行する必要がある。
この辺りについては公式のドキュメントには記載が少なく、ウェブ上の情報も少なく苦労することになった。