You need to enable JavaScript to run this app. 升级Xcode 13 beta后Firebase Firestore自定义结构体编码失效问题
优惠活动
大模型
产品
解决方案
定价
更多

升级Xcode 13 beta后Firebase Firestore自定义结构体编码失效问题

问题触发原因
  • 该问题是Xcode 13 Beta版本的常见兼容性问题,大量使用Firebase的开发者都遇到过相同报错,核心是Swift版本升级后的属性包装器编码逻辑变更,旧版本Firebase库未做适配。
  • 升级Xcode后可能出现依赖导入失效的情况,如果你的文件头部没有显式导入FirebaseFirestoreSwift,也会触发该报错,因为Codable模型自动转字典的能力是由该库提供的,不是FirebaseFirestore核心库的原生能力。
修复方案

方案1:无需升级依赖的即时修复

直接调用Firebase专门提供的Codable模型重载方法,修改你的setData调用代码即可:

try await databasemodel.database.collection("users").document(idToken).setData(from: newUser)

新增的from:参数是专门用于接收Codable类型的入口,绕过Xcode 13 Beta下失效的隐式类型转换逻辑,不需要修改你的模型定义即可正常编译运行。

方案2:永久适配修复

将你的Firebase全量依赖升级到8.0.0及以上版本,该版本及后续的Firebase版本已经完全适配Xcode 13+的Swift编译特性,升级后你原来的写法也可以正常运行。

额外注意事项

你当前的User模型定义不需要修改,@DocumentID属性不需要加入自定义的CodingKeys枚举,当前写法符合Firebase的编码规范。

内容的提问来源于stack exchange,提问作者Jonas Friederichs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 23:27:02