出现场景
一个老项目在最新的Xcode14.3运行报以下错误。
Launching lib/main.dart on iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: YE6STNG83Y
Running Xcode build...
Xcode build done. 8.9s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)
Error launching application on iPhone.
根据网上的资料,这是由于 Xcode14只支持构建ios11.0及以上的版本。libarclite
对于老的版本才需要,在IOS11以上被废弃了。所以我们要确保所有的库的构建目标都要在11.0以上。
解决方案
方案1
打开Xcode, 选中Pods,查看Targets中库有哪些是大于11.0的,改为11.0。然后重新运行即可。
方案2
如果方案1不行,那就手动添加以下代码到Podfile
中,然后重新编译。
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
# 添加以下代码
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
end