sar*_*rah 1 ios firebase swift google-cloud-firestore
几天前,我刚刚将我的firebase pod更新到最新版本,在我的调试区域,我收到消息说我必须从timestamp数据类型更新为Date(类似的东西,我实际上忘了).
我还必须更改数据库设置,如下所示
let db = Firestore.firestore()
let settings = db.settings
settings.areTimestampsInSnapshotsEnabled = true
db.settings = settings
Run Code Online (Sandbox Code Playgroud)
添加上面的代码后,Xcode中我的调试区域中的错误消息消失.
据我所知,我还必须将我的客户端中的数据类型从Timestamp更改为Date数据类型,我没有更改它,因为Xcode中我的调试区域中的错误消息已经消失.
结果,我的应用程序中的日期不正确.
你能再次分享从TimeStamp到Date的转换步骤吗?因为据我记得,我必须采取一些步骤来遵循.我在firebase文档中找不到它.
非常感谢你 :)
小智 9
这是来自调试器的消息
存储在Firestore中的系统Date对象的行为将发生变化,您的应用程序可能会发生故障.要隐藏此警告并确保您的应用不会中断,您需要在调用任何其他Cloud Firestore方法之前将以下代码添加到您的应用中:
let db = Firestore.firestore()
let settings = db.settings
settings.areTimestampsInSnapshotsEnabled = true
db.settings = settings
Run Code Online (Sandbox Code Playgroud)
通过此更改,存储在Cloud Firestore中的时间戳将作为Firebase Timestamp对象而不是系统Date对象读回.因此,您还需要更新期望日期的代码,而不是期望时间戳.例如:
// old:
let date: Date = documentSnapshot.get("created_at") as! Date
// new:
let timestamp: Timestamp = documentSnapshot.get("created_at") as! Timestamp
let date: Date = timestamp.dateValue()
Run Code Online (Sandbox Code Playgroud)
启用新行为时,请审核Date的所有现有用法.在将来的版本中,行为将更改为新行为,因此如果您不按照这些步骤操作,您的应用程序可能会突然崩溃.
归档时间: |
|
查看次数: |
5462 次 |
最近记录: |