Firebase 数据库 iOS 崩溃 GTMSessionFetcher
Firebase database iOS crashing GTMSessionFetcher
我更新了 firebase,此后我的应用程序不断崩溃并出现以下错误
Fetcher delegate class: NRMAURLSessionTaskDelegate Fetcher made an
extra session: GTMSessionFetcher 0x125d53db0 Couldn't assign
delegate.
Fetcher delegate class: NRMAURLSessionTaskDelegate
-[GTMSessionFetcher setFetcher:forTask:]: unrecognized selector sent to instance 0x125d53db0
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GTMSessionFetcher
setFetcher:forTask:]: unrecognized selector sent to instance
0x125d53db0'
* First throw call stack: (0x18260ad8c 0x1817c45ec 0x182618098 0x1826105c8 0x1824f641c 0x104637b14 0x104613928 0x10461011c
0x102d9364c 0x102d96bdc 0x102d95140 0x102d92a54 0x102db3f90
0x102db36b0 0x102da0e00 0x105bfd1dc 0x105bfd19c 0x105c0bdfc
0x105c006ac 0x105c0bc20 0x105c006ac 0x105c0cd54 0x105c13e38
0x18222fe70 0x18222fb08) libc++abi.dylib: terminating with uncaught
exception of type NSException
我拨打并崩溃的电话如下:
let reviewsRef = Database.database().reference()
reviewsRef.child("reviews").queryOrdered(byChild: "timestamp").queryLimited(toLast: count)
我添加了一个调试日志,并且只调用了一次。
应用程序崩溃的行似乎是
let ref = Database.database().reference()
从 4.9 到 5.0 版本配置 Firebase 有什么变化吗?
另一个更新:
它似乎可以在 Xcode 模拟器上运行,但不能在设备上运行。设备是 iPhone 6s 和 11.4
工作方式,因为在模拟器上我收到了整个数据库,而不仅仅是我请求的 "reviews"
如果规则是:
{
"rules": {
".read": true,
但是当我更改为:
"rules": {
"reviews": {
".read": true,
我的权限被拒绝(在模拟器上)。它可能与身份验证有关?我知道这 2 个可能是两个不同的问题。
我一开始就不知道为什么会这样。但是我在 firebase 中创建了一个具有完全相同规则的新项目并且它有效......由于某种原因,特定项目在 firebase 方面变得腐败。
NRMAURLSessionTaskDelegate
表示使用 New Relic - 如果它在一个干净的项目上工作,则可能与 Firebase 不兼容
我更新了 firebase,此后我的应用程序不断崩溃并出现以下错误
Fetcher delegate class: NRMAURLSessionTaskDelegate Fetcher made an extra session: GTMSessionFetcher 0x125d53db0 Couldn't assign delegate.
Fetcher delegate class: NRMAURLSessionTaskDelegate -[GTMSessionFetcher setFetcher:forTask:]: unrecognized selector sent to instance 0x125d53db0 * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GTMSessionFetcher setFetcher:forTask:]: unrecognized selector sent to instance 0x125d53db0' * First throw call stack: (0x18260ad8c 0x1817c45ec 0x182618098 0x1826105c8 0x1824f641c 0x104637b14 0x104613928 0x10461011c 0x102d9364c 0x102d96bdc 0x102d95140 0x102d92a54 0x102db3f90 0x102db36b0 0x102da0e00 0x105bfd1dc 0x105bfd19c 0x105c0bdfc 0x105c006ac 0x105c0bc20 0x105c006ac 0x105c0cd54 0x105c13e38 0x18222fe70 0x18222fb08) libc++abi.dylib: terminating with uncaught exception of type NSException
我拨打并崩溃的电话如下:
let reviewsRef = Database.database().reference()
reviewsRef.child("reviews").queryOrdered(byChild: "timestamp").queryLimited(toLast: count)
我添加了一个调试日志,并且只调用了一次。 应用程序崩溃的行似乎是
let ref = Database.database().reference()
从 4.9 到 5.0 版本配置 Firebase 有什么变化吗?
另一个更新: 它似乎可以在 Xcode 模拟器上运行,但不能在设备上运行。设备是 iPhone 6s 和 11.4
工作方式,因为在模拟器上我收到了整个数据库,而不仅仅是我请求的 "reviews"
如果规则是:
{
"rules": {
".read": true,
但是当我更改为:
"rules": {
"reviews": {
".read": true,
我的权限被拒绝(在模拟器上)。它可能与身份验证有关?我知道这 2 个可能是两个不同的问题。
我一开始就不知道为什么会这样。但是我在 firebase 中创建了一个具有完全相同规则的新项目并且它有效......由于某种原因,特定项目在 firebase 方面变得腐败。
NRMAURLSessionTaskDelegate
表示使用 New Relic - 如果它在一个干净的项目上工作,则可能与 Firebase 不兼容