2

我刚刚将 Firebase 性能添加到我的主要是 Obj-C 并具有 Firebase (Core + Analytics + Messaging + Config) 我在文档中读到:

性能监控不支持使用 NSURLConnection 类发出的网络请求。

然而,出乎意料的是应用程序在第一次调用 NSURL* 时崩溃,例如,我正在使用一个名为“Harpy”的库,它检查 AppStore 中应用程序的新版本,它在这里崩溃:

NSURLSession *session = [NSURLSession sharedSession]; // <--- Crashes here
NSURLSessionDataTask *task = [session
      dataTaskWithRequest:request
        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            if ([data length] > 0 && !error) { // Success
                [self parseResults:data];
            }
        }
];

我真的看不到任何有用的异常,但是线程以:

Thread 1 Queue : com.google.FPRNSURLSessionInstrumentation (serial)
4

1 回答 1

2

所以上面的问题与 Firebase 本身没有直接关系,但实际上是 Firebase 性能和 Crittercism 之间的冲突,解决方案是禁用 Crittercism 对 NSURLSession 的监控,如下所示:

CrittercismConfig *config = [CrittercismConfig defaultConfig];
config.monitorNSURLSession = false;
[Crittercism enableWithAppID:settingsManager.crittericismKey andConfig:config];
[Crittercism setValue:[NSLocale preferredLanguages].firstObject forKey:@"deviceLanguage"];
于 2017-07-24T21:27:43.997 回答