はじめに
Flutterで、location 3.0.2やgeolocator 5.3.2+2などを用いて、flutter build ios --release
で、iOSのビルドを行い、Xcodeでビルドを行うと、Module 'location' not found
やModule 'geolocator' not found
などというエラーが出ることがあります。結構メジャーなバグらしく、対処法をまとめました。
対処法
それぞれの状況によって、対処法が変わってくるため、解消される可能性のある対処法をリストアップしていきます。
対処法①
flutter clean
をすると、直ったという報告があります(参考)。
まずはお手軽なので、こちらを試してみましょう。
$ flutter clean
Cleaning Xcode workspace... 4.3s
Deleting build... 213ms
Deleting .dart_tool... 128ms
Deleting Generated.xcconfig... 1ms
Deleting flutter_export_environment.sh... 0ms
Deleting App.framework... 7ms
$ flutter build ios --release
Running pod install... 2.3s
Running Xcode build...
└─Compiling, linking and signing... 30.7s
Xcode build done. 83.3s
対処法②
flutter pub get
も念の為、行なっておきましょう。
$ flutter pub get
Running "flutter pub get" in sample... 1.4s
Process finished with exit code 0
対処法③
Runner.xcodeproj
ではなく、Runner.xcworkspace
を開くと、modleが参照されて、ビルドできることがあります。私は、この方法でビルド成功しました!
対処法④
一度、Podfileをremoveしてから、buildすると、うまくいく場合もあります。
$ rm ios/Podfile
$ flutter build ios
対処法⑤
- Xcodeを閉じます。
- Podfileの
#platform :ios, '9.0'
のコメントを解除します。 -
cd ./ios/ && pod install
を実行します。 -
flutter clean
を実行します。 -
/ios/Runner.xcworkspace
を開きます。