Xcode 14归档框架报错:不支持Swift架构,无法构建模块
报错信息:
fatal error:
could not build module 'MAdvertiseLocation'
@import MAdvertiseLocation;error:
unsupported Swift architecture
#error unsupported Swift architecture
^
1 error generated.
解决步骤:
检查
MAdvertiseLocation模块的架构支持
打开该模块的Xcode项目,在Build Settings中找到Architectures相关选项:- 确认
Valid Architectures包含arm64; - 将
Build Active Architecture Only在归档(Release)模式下设置为NO; - 确保
Architectures设置为Standard Architectures (arm64, x86_64)或明确包含arm64。
- 确认
排查Swift版本兼容性
Xcode 14要求Swift版本5.7及以上,检查项目和MAdvertiseLocation模块的Swift Language Version设置,若使用旧版本Swift,升级到兼容版本,同时修复模块中可能存在的旧语法问题。清理项目缓存
执行Product > Clean Build Folder清理本地构建缓存,删除~/Library/Developer/Xcode/DerivedData目录下的所有内容,重启Xcode后重新尝试归档,避免缓存残留导致的架构识别错误。检查排除架构设置
在主项目和MAdvertiseLocation模块的Build Settings中,查看Excluded Architectures,确保没有将arm64加入排除列表。注意区分真机和模拟器配置,不要误排除真机的arm64架构。验证依赖库的架构支持
确认MAdvertiseLocation模块依赖的所有静态库、Framework都支持arm64架构。若存在不兼容的依赖,替换为支持arm64的版本,或者联系提供者更新架构适配。修复预处理宏的架构判断
报错中的#error unsupported Swift architecture是预处理宏抛出的,检查MAdvertiseLocation模块的头文件或Swift文件中的预处理代码,确认是否遗漏了arm64架构的判断分支,补充对应的架构处理逻辑,避免触发错误。
内容的提问来源于stack exchange,提问作者MohamedSGHBS

