😊
Flutter iOSビルドしようとしてもビルドが失敗する時の対処
iOSビルドしようとすると以下のエラーが出てビルドが失敗してしまった
Error running pod install
Error running pod installの対処
これは使っているパッケージのバージョンが変更された際に起こる可能性があるエラーらしいです
- iosフォルダ内にある『Podfile.lock』ファイルを削除
- iosフォルダに移動して『pod install』をターミナルで叩く
※もしこれで上手くいかない場合は『pod install』ではなく『pod install –repo-update』だと上手くいくらしい
それでも上手くいかない場合
- iosフォルダにある『Podfile.lock』+『Podfile』を削除
- 『flutter run』をターミナルで叩く
- iosフォルダに移動して『pod install』をターミナルで叩く
解説
- そもそも『Podfile』はFlutterで自動生成されものなので削除しても問題なし
- flutter runをすることで『Podfile』が自動生成される
- それで環境がクリーンになるので『pod install』が上手くいく
しかしまたもエラーが出る
[!] Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
ということで何やらバージョンを指定してくれとのことらしい
対処法
- ios/Podfileで『platform :ios』のコメントアウトを外して好みのバージョンを指定する
またもエラーが出る.......
Unable to find a target named RunnerTests in project Runner.xcodeproj, did find Runner
要は『RunnerTests』が見当たらないと言われている
対処法
- ios/Runnerをxcodeで開く
- xcodeタブの『New』->『Target』で『Runner』を選択
- 『chooose a template for your new target』が立ち上がるので、『Multiplatform』を『iOS』にして検索で『Unit』と叩くと『Unit Testing Bundle』があるのでこれを選択
- 『Product Name: RunnerTests』『Language: Swift』『Project: Runner』『Target to be Tested: Runner』と設定し、『Team』『Organization』は各々の環境に合わせて『Finish』
- もう設定されているとは思うが念の為、『Targets』の中にある先ほど生成した『RunnerTests』を選択し、『General』の中にある『Testing』タブの『Host Application』が『Runner』になっているかを確認する
- これでxcode側でやることは終わったのでxcodeを閉じる
- iosフォルダに移動して『pod install』をターミナルで叩く
これでやっとpod installが通るはずです。
参考記事
Discussion