Xcode修改App和测试目标部署版本为iOS13后MergeSwiftModule失败如何解决
iOS 部署版本适配报错排查项
你可以按以下优先级逐一检查遗漏的配置:
- 检查Project层级的部署目标配置
很多开发者只会修改Target层级的部署版本,忽略了Project根配置。点击Xcode左侧导航顶部的xcodeproj文件,在左侧面板选择Project(而非下方Targets列表的对应项),切换到「Info」标签,检查全局的iOS Deployment Target是否为13.0,同时确认Debug、Release以及你自定义的测试环境配置下的部署版本都已同步修改。 - 检查Target构建设置的分配置参数
进入测试Target的「Build Settings」标签,搜索IPHONEOS_DEPLOYMENT_TARGET,点击配置项左侧的展开箭头,确认所有构建配置(Debug、Release、自定义测试配置)的部署目标都已设置为13.0,避免仅修改了通用配置、特定环境配置仍残留14.2的参数。 - 清理Xcode缓存与派生数据
旧编译缓存会残留历史配置,导致修改不生效。关闭Xcode后执行终端命令rm -rf ~/Library/Developer/Xcode/DerivedData清理全部派生数据,重启Xcode后重新编译。 - 检查依赖管理工具的配置
若你使用CocoaPods管理依赖:- 检查Podfile顶部的全局平台声明是否为
platform :ios, '13.0' - 修改完成后执行
pod install重新生成Pods项目配置,避免依赖库的部署目标高于主项目配置
- 检查Podfile顶部的全局平台声明是否为
- 检查xcconfig配置文件
若项目使用xcconfig文件管理构建设置,全局搜索所有xcconfig文件中是否存在IPHONEOS_DEPLOYMENT_TARGET = 14.2的配置项,xcconfig的配置优先级高于Xcode UI手动设置的参数,需要同步修改。 - 检查自定义编译参数
搜索测试Target的「Build Settings」中的Other Swift Flags配置项,确认是否存在手动指定部署目标的参数,比如-target arm64-apple-ios14.2,如有则删除或修改为对应13.0的参数。
内容的提问来源于stack exchange,提问作者Zim
相关产品推荐
相关产品推荐

