MacCatalyst归档报错:Clang '-target arm64-apple-ios10.15-macabi'版本号无效
MacCatalyst归档错误分析与解决方案
问题原因
- 无效版本号映射:Mac Catalyst的编译目标格式为
arm64-apple-ios<version>-macabi,但iOS不存在10.15这个版本号——这里错误地将macOS的版本号(10.15 Catalina)当成iOS版本号填入,导致clang无法识别该无效参数。 - 项目配置错误:可能是手动修改了Build Settings中的架构参数,或是直接复用iOS项目配置时未适配Mac Catalyst的版本要求,生成了错误的编译目标指令。
解决方案
- 修正目标版本配置
- 打开Xcode,选中Mac Catalyst对应的项目目标,进入
Build Settings面板 - 搜索
Base SDK,确认设置为与项目兼容的最新macOS SDK(或对应iOS版本的macOS SDK) - 搜索
iOS Deployment Target,将其设置为iOS 13.0或更高版本(Mac Catalyst从iOS 13开始正式支持) - 检查
Other C Flags和Other C++ Flags选项,若存在手动添加的-target arm64-apple-ios10.15-macabi参数,直接删除或修正为正确格式(比如-target arm64-apple-ios13.0-macabi)
- 打开Xcode,选中Mac Catalyst对应的项目目标,进入
- 清理缓存后重新构建
- 使用
Cmd+Shift+K清理项目产物 - 使用
Cmd+Option+Shift+K清理全局构建缓存 - 重新执行归档操作
- 使用
- 适配Pod依赖配置(若使用CocoaPods)
- 检查Podfile,确保针对Mac Catalyst的配置未硬编码错误的版本参数
- 执行
pod deintegrate移除现有依赖,再执行pod install重新安装适配Mac Catalyst的依赖包
内容的提问来源于stack exchange,提问作者RileyDev
相关产品推荐
相关产品推荐

