📱

[Flutter]iOSのビルドで失敗したらまず試すこと10選

2022/05/30に公開
2

ビルドがよくコケて詰まるので、備忘録に。。。
ざっくりいうと、(Flutterアプリに限ったことではないけど)大抵は再インストールする・削除する・再起動するで解決できることが多そうです。

1.原因を特定

flutter doctor -v
開発環境にどこかしら不具合があれば検知してくれる。エラーが引っかかったらそのメッセージに従おう。
困ったらとりあえずまず初めに実行するコマンド。

2.キャッシュのクリア

flutter clean
キャッシュをクリアする。
不具合かと思いきや単にキャッシュのせいの場合も多々あるので、何かしら変更点を加えたらクリアしてみるのが◯。

3.xcodeでビルド

VS CodeなどのIDEを使っていてビルドに失敗した場合、Xcodeでのビルドを試してみるとワンチャンうまくいくかもしれない。

4.Xcode, Simulatorの再起動

Xcode, Simulatorを一度閉じて、再起動してからトライ。
Stackoverflow見てると、これだけで解決することも多々ある様子。

5.パッケージの再インストール

パッケージが足りなかったり、古くてバージョンが合わなかったりでエラーの場合もある。
その場合は下記のコマンドたちを試してみる

5.1.flutter pub get

pubspec.yaml にあるパッケージを全てインストール

5.2.flutter pub remove {package名}

パッケージを個々に指定して削除

5.3.flutter pub add {package名}

パッケージを個々に指定してインストール

5.4.flutter pub upgrade

pubspec.yaml にあるパッケージを全てインストール。
flutter pub get と違って pubspec.yaml のみ参照し、 pubspec.lock で指定されているバージョンは無視するので注意。

6.Flutter自体のアップグレード

flutter upgrade
flutterのバージョンが古いならアップグレードしよう。

7.cocoapodsのアップグレート

cocoapodsのバージョンが古くてビルドに失敗するケースもある。
rubyでインストールしてる人は gem update cocoapods
homebrewでインストールしてる人は brew upgrade cocoapods

8.iosフォルダごと一度消してみる

/ios フォルダをまるごと削除し、 flutter create -i swift . で再製性。
これをやるとき、もちろんバックアップは忘れずに。

9.iOSのサポートバージョンを上げる

project.pbxproj ファイル内にある IPHONEOS_DEPLOYMENT_TARGET のバージョン値を変えてみる。
2022/5の時点では 9.0 がよい。それ未満になっていたら変更する。

10.実機のiPhoneでビルドがうまくいかなかったら...

これもよくあるのですが、下記を全部試すといずれかでビルドできるようになることがある。

  • iPhoneのOSを最新版にアップデートする
  • MacのOSを最新版にアップデートする
  • Xcodeを最新版にアップデートする(※先にMacのOSがアップデートされている必要アリ)
  • iPhoneとMacを繋ぎ直す
  • iPhoneとMacを再起動する

Discussion

かとちんかとちん

恐れ入ります。5.1. flutter get pub は、flutter pub get かと思います。
また、これは私の例ですが、一通りやりましたが解決せず、
flutter pub get --no-example
で解決しました。