Xcode13 beta4归档含Kingfisher项目出现Swift编译器错误求助
Xcode 13 beta 4 归档Kingfisher报错解决方案
根本原因
该问题由两个常见触发点导致:
- Kingfisher 7.x及以上版本的最低兼容系统为iOS 13,若你的项目全局最低部署版本低于iOS13,Debug运行时因为目标运行设备为iOS15,不会触发版本校验,归档时会全版本扫描触发报错
- Xcode 13 beta 4本身存在Pods库编译版本继承的bug,即使你全局配置了正确的版本,也可能出现Pods库的部署版本未同步更新的问题
解决方案
- 方案一:调整项目全局最低兼容版本
打开Xcode项目配置的General标签,将iOS Deployment Target修改为13.0或更高版本,若你的应用不需要支持iOS12及更低版本用户,该方案是最优解。 - 方案二:适配低版本系统调整Kingfisher版本
若你的应用需要兼容iOS12或更低版本,将Kingfisher降级到6.x及以下的稳定版本,该版本区间的Kingfisher最低支持iOS10,不会触发版本校验报错。 - 方案三:单独指定Kingfisher的编译部署版本
如果你需要使用新版Kingfisher的功能同时兼容低版本系统,在Podfile中添加编译配置钩子,强制指定Kingfisher的部署版本:
配置完成后执行post_install do |installer| installer.pods_project.targets.each do |target| if target.name == "Kingfisher" target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' # 替换为你项目的最低兼容版本 end end end endpod install重新生成Pods项目即可解决报错。 - 方案四:临时修复Xcode beta编译bug
若上述方案都无效,可临时修改归档配置:打开Product->Scheme->Edit Scheme->Archive-> 将Build Configuration修改为Debug模式完成临时归档,该方案仅适合测试使用,不可用于正式包发布。
内容的提问来源于stack exchange,提问作者mcmgr
相关产品推荐
相关产品推荐

