[Flutter]iOSのビルドで失敗したらまず試すこと10選
ビルドがよくコケて詰まるので、備忘録に。。。
ざっくりいうと、(Flutterアプリに限ったことではないけど)大抵は再インストールする・削除する・再起動するで解決できることが多そうです。
1.原因を特定
flutter doctor -v
開発環境にどこかしら不具合があれば検知してくれる。エラーが引っかかったらそのメッセージに従おう。
困ったらとりあえずまず初めに実行するコマンド。
2.キャッシュのクリア
flutter clean
キャッシュをクリアする。
不具合かと思いきや単にキャッシュのせいの場合も多々あるので、何かしら変更点を加えたらクリアしてみるのが◯。
3.xcodeでビルド
VS CodeなどのIDEを使っていてビルドに失敗した場合、Xcodeでのビルドを試してみるとワンチャンうまくいくかもしれない。
4.Xcode, Simulatorの再起動
Xcode, Simulatorを一度閉じて、再起動してからトライ。
Stackoverflow見てると、これだけで解決することも多々ある様子。
5.パッケージの再インストール
パッケージが足りなかったり、古くてバージョンが合わなかったりでエラーの場合もある。
その場合は下記のコマンドたちを試してみる
flutter pub get
5.1.pubspec.yaml
にあるパッケージを全てインストール
flutter pub remove {package名}
5.2.パッケージを個々に指定して削除
flutter pub add {package名}
5.3.パッケージを個々に指定してインストール
flutter pub upgrade
5.4.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
で解決しました。
ありがとうございます!修正しました!