MacOSのバージョンをVenturaからSonomaにバージョンアップし、XCodeも14.xから15.xにバージョンアップした際にビルドエラーが発生したため、解消法を忘備録として記載する。
開発環境
- MacOS Sonoma 14.1
- Xcode – develop for iOS and macOS (Xcode 15.0.1)
- Flutter 3.13.6
エラー内容
flutter ru
n 実行時に以下のエラーが出現。
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000000000000
Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)
Xcode 15でiOS 12未満のサポートが削除されたことに関連して発生するエラーのようで、この問題は、Flutterプロジェクト内で使用されているCocoaPodsのターゲットが、iOS 12未満のデプロイメントターゲットに設定されている場合に発生する可能性がある。
回避策
${project-root}/ios/Podfile
に以下を記述する。
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
上記のスクリプトをPodfileに追加することで、プロジェクト内の全てのデプロイメントターゲットが少なくともiOS 12.0であることを保証する。これを行うことで、Xcode 15でビルド時に発生する互換性の問題を回避できます。
コメント