Flutterでsoundpoolパッケージを使ってアプリを作っていたら、
soundpool/soundpool-Swift.h' file not found
(中略)
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to ...
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to ...
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to ...
(中略)
というエラーにより、iOSシミュレーターを立ち上げることができなかった。
解決法
Flutterのプロジェクトフォルダの中で、iosフォルダの中にPodfileがあります。
Podfileの記述の中で部分的編集します。
target 'Runner' do
use_frameworks! # <-この一行を追加
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
# referring to absolute paths on developers' machines.
system('rm -rf .symlinks')
system('mkdir -p .symlinks/plugins')
# Flutter Pods
# 〜〜〜省略〜〜〜
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '4.2' # <-この一行を追加
end
end
end
その上でPodfile.lockを一旦削除して、
再度ビルドすれば、Podfileが更新されて、無事立ち上がります。
追記(2020/12/17)
Flutterのバージョン変更に伴い、Flutter SDK 1.22では、下記のようなエラーが出るのかなと思います。
しかし、やはり、
target 'Runner' do
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
use_frameworks! # <-この一行を追加
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config| # <-この一行を追加
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' # <-この一行を追加
end
end
end
とPodfileを編集し、Podfile.lockを一度removeコマンドで削除した上で、起動させるとちゃんと動きました。