Xcode 15.0升级后firebase-ios-sdk报错An attribute list cannot appear here(SPM无方案)
解决Xcode 15.0下Firebase SDK的"An attribute list cannot appear here"错误
问题重现
升级Xcode 15.0后,编译项目时触发如下编译错误:
ABSL_CONST_INIT extern "C" const int64_t kFIRFirestoreCacheSizeUnlimited = Settings::CacheSizeUnlimited; // An attribute list cannot appear here
Swift Package Manager场景解决方案
升级Firebase SDK至兼容版本:
该错误是Firebase iOS SDK未适配Xcode 15新编译器规则导致的,官方已在Firebase 10.12.0及更高版本中修复此问题。- 若使用
Package.swift管理依赖,修改Firebase的版本约束:dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "10.12.0"), // 其他项目依赖... ] - 若在Xcode可视化界面管理,进入
Package Dependencies列表,找到Firebase SDK,选择「Update to Latest Package Version」,确保最终版本不低于10.12.0。
- 若使用
临时兼容方案(无法立即升级SDK时):
如果暂时无法升级SDK,可通过调整编译选项绕过错误:- 打开项目的Build Settings面板
- 搜索
Other C++ Flags选项 - 添加
-Wno-error=attributes,将该属性相关的错误转为警告,临时允许编译通过。注意此方案仅作过渡,建议尽快升级至官方修复版本。
内容的提问来源于stack exchange,提问作者Qazi Ammar
相关产品推荐
相关产品推荐

