问题描述

Xcode 版本14.3

运行到模拟器的报错信息:

ld: <span class="token function">file</span> not found: ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决办法

搜了下网上的方案,说是Xcode 14.3版本有bug,需要回退到14.2版本才能解决。但是我嫌太麻烦了,找到了一个更简单的解决办法。

解决这个问题很简单,只需要将第三方库部署目标的iOS版本设置成和应用最低部署目标的iOS版本一致。Xcode 14支持的最低部署目标iOS 11,所以将第三方库部署目标的ios版本设置成11就搞定了。

在podfile中加上:

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end

然后重新执行pod install 即可。

这段代码的作用是先获取Pods项目(pods_project)中的目标数组(targets),然后遍历目标数组通过目标对象(target)获取构建配置数组(build_configurations),最后遍历构建配置数组修改构建配置对象中的构建设置(build_settings),将iOS 部署目标版本设为11.0。