M1芯片Mac Xcode13.1通过SPM导入Firebase找不到FirebaseFirestoreSwift模块
解决方案
- 检查SPM库的Target关联配置
打开项目对应Target的「Frameworks, Libraries, and Embedded Content」配置页,确认FirebaseFirestoreSwift已经被加入依赖列表。Firebase SPM包拆分了大量独立子库,很多开发者添加依赖包时仅勾选了FirebaseFirestore,漏选了独立的FirebaseFirestoreSwift,就会出现Xcode可识别补全但编译时找不到模块的问题。 - 移除M1架构的排除配置
在Target的「Build Settings」中搜索Excluded Architectures,确认Debug和Release模式下均没有排除arm64架构的配置。如果之前使用CocoaPods时保留了排除arm64的旧配置,迁移到SPM后未删除,会导致M1芯片编译时无法生成对应架构的FirebaseFirestoreSwift模块。 - 确认Swift版本匹配
在Build Settings中搜索Swift Language Version,确认项目的Swift版本设置为5.0及以上,FirebaseFirestoreSwift 8.0及以上版本仅支持Swift 5+,过低的Swift版本会导致模块编译失败。 - 重置SPM缓存
点击Xcode顶部菜单栏「File」→「Packages」→「Reset Package Caches」,等待SPM重新拉取构建所有依赖,可解决依赖缓存损坏导致的编译问题。 - 固定Firebase兼容版本
你使用的Xcode 13.1最高支持的Firebase iOS SDK版本为9.6.0,更高版本的Firebase要求Xcode 13.3及以上才能正常编译。如果你的SPM依赖规则设置为自动获取最新版本,会拉取到不兼容的高版本SDK导致报错,可将依赖规则改为固定9.6.0版本,重新拉取后再编译。
内容的提问来源于stack exchange,提问作者C6Silver
相关产品推荐
相关产品推荐

