【问题标题】:Can't store CLLocation objects using geoFire in Firebase无法在 Firebase 中使用 geoFire 存储 CLLocation 对象
【发布时间】:2026-02-11 04:25:02
【问题描述】:

CLLocation 对象具有如下结构: "<+10.00000000,+10.00000000> +/- 0.00m (speed -1.00 mps / course -1.00) @ 7/11/19, 10:45:58 PM Eastern Daylight Time"

即,它们还包括课程信息。 当我尝试像这样使用 geoFire 存储我的 CLLocation 对象时:

geoFire.setLocation(newLocation, forKey: description)

我的应用程序崩溃,我收到如下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'不是有效的 GeoFire 密钥:“Apple Campus, Apple Campus, 1 Infinite Loop, Cupertino, CA 95014, United States @ +/ - 100.00m,区域 CLCircularRegion(标识符:' 半径 279.37',中心:,半径:279.37m)”。字符 .#$][/ 不允许在键中使用!'

所以我猜我用来存储信息的 Firebase 对所有课程信息都不满意,但我不知道如何处理它。我尝试将 geoFire.setLocation 与 CLLocationCoordinates2D 一起使用,但它也不起作用。

【问题讨论】:

    标签: swift firebase firebase-realtime-database cllocation geofire


    【解决方案1】:

    您的密钥包含非法字符

    .#$][/
    

    【讨论】: