[Firebase/Core][I-COR000020] 发布到 Clearcut 时出错:错误域 = NSURLErrorDomain 代码 = -1009“互联网连接似乎处于脱机状态

Posted

技术标签:

【中文标题】[Firebase/Core][I-COR000020] 发布到 Clearcut 时出错:错误域 = NSURLErrorDomain 代码 = -1009“互联网连接似乎处于脱机状态【英文标题】:[Firebase/Core][I-COR000020] Error posting to Clearcut: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline 【发布时间】:2017-05-23 06:34:24 【问题描述】:

我使用 FireBase SDK 作为我的应用程序的后端,并且我已根据需要启用了持久性。

[FIRDatabase database].persistenceEnabled = YES;

直到最近,当我在离线模式下使用我的应用时开始出现此错误时,离线模式一直运行良好。

2017-01-08 19:03:44.838 MyApp[1002] <Error> [Firebase/Core][I-COR000020] Error posting to Clearcut: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=NSUnderlyingError=0x170056710 Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo=_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1, NSErrorFailingURLStringKey=https://play.googleapis.com/log, NSErrorFailingURLKey=https://play.googleapis.com/log, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline., with Status Code: 0

这很容易重现。只需在 iPhone 上的飞行模式之间切换,您就会看到此错误。

我正在使用 CocoaPods 来使用 FireBase,这里是框架列表及其版本。

-> Using Firebase (3.11.0)

-> Using FirebaseAnalytics (3.6.0)

-> Using FirebaseAuth (3.1.0)

-> Using FirebaseCore (3.4.6)

-> Using FirebaseDatabase (3.1.1)

-> Using FirebaseInstanceID (1.0.8)

【问题讨论】:

【参考方案1】:

我无法修复 firebase 代码,但我能够将其包装在异常处理中,以防止它在设备上的 Internet 连接关闭时(特别是在 iPad2 上)使我的应用程序崩溃。

目标 C

            @try 
            [FIRAnalytics logEventWithName:@"share" parameters:@
        @"item_id" : [[[StatusReportIAPHelper sharedInstance] product] productIdentifier],
                 @"content_type" : @@"title": [[[StatusReportIAPHelper sharedInstance] product] localizedTitle]
              ];
             
             @catch (NSException* exception) 
                 NSLog(@"SRS.logEventWithName Exception: %@ Reason: %@", exception.name, exception.reason);
             

斯威夫特 4

        do 
                Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
                    AnalyticsParameterItemID: "id-\(bundleID!)" as NSObject
                    , AnalyticsParameterItemName: "\(bundleID!)" as NSObject
                    , AnalyticsParameterContentType:
                        "\(unquotedAppname!)" as NSString])
                
                catch 
                    NSLog("POAD.logEvent Cannot log event - no Internet connection");
                

【讨论】:

以上是关于[Firebase/Core][I-COR000020] 发布到 Clearcut 时出错:错误域 = NSURLErrorDomain 代码 = -1009“互联网连接似乎处于脱机状态的主要内容,如果未能解决你的问题,请参考以下文章

[Firebase/Core][I-COR000020] 发布到 Clearcut 时出错:错误域 = NSURLErrorDomain 代码 = -1009“互联网连接似乎处于脱机状态

如何在 iOS 中禁用 Firebase/Core 调试消息

iOS 上 Google/Analytics 的最新 pod 版本要我安装 Firebase

Cocoapods:找不到“Firebase/Core”的规范

添加依赖项时出现编译错误:com.google.firebase:firebase-core

无法解决:com.google.firebase:firebase-core:11.2.0