完全禁用Firebase/Analytics以在应用启动时停止控制台垃圾邮件

Jos*_*phH 14 ios firebase firebase-analytics

我已将Google/SignIn cocoapod安装到我的应用程序中(我需要支持GoogleDrive),但这取决于依赖于FirebaseAnalytics的Google/Core.我不想要或不需要FirebaseAnalytics.

当我们的应用启动时,FirebaseAnalytics会为开发人员控制台提供8行输出:

2017-06-07 18:07:19.612994+0100 son[2909:877661] [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://gooX.gl/9vSsPb
2017-06-07 18:07:19.613 son[2909] <Warning> [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://gooX.gl/9vSsPb
2017-06-07 18:07:19.613896+0100 son[2909:877661] [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3900000 started
2017-06-07 18:07:19.614 son[2909] <Notice> [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3900000 started
2017-06-07 18:07:19.614525+0100 son[2909:877661] [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://gooX.gl/RfcP7r)
2017-06-07 18:07:19.614 son[2909] <Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://gooX.gl/RfcP7r)
2017-06-07 18:07:19.622560+0100 son[2909:877662] [Firebase/Analytics][I-ACS023013] Firebase Analytics disabled
2017-06-07 18:07:19.623 son[2909] <Notice> [Firebase/Analytics][I-ACS023013] Firebase Analytics disabled
Run Code Online (Sandbox Code Playgroud)

(我不得不在上面输出的URL中添加X以通过stackoverflow的URL缩短阻止程序.)

我尝试在我的Info.plist中将FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED设置为YES,删除了2行,但添加了另外2行告诉我Analytics已禁用(FFS!).

这种垃圾邮件输出使我们的开发人员很难看到任何实际重要的控制台输出.我该如何禁用它?

(如果不这样做,关于如何让它仅输出一行的建议将非常受欢迎.)

Pau*_*ien 23

你可以在输出中找到这个:

<Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging
 set the following application argument: -FIRAnalyticsDebugEnabled
Run Code Online (Sandbox Code Playgroud)

禁用是相反的 - 设置参数:-noFIRAnalyticsDebugEnabled:

在此输入图像描述

此外,您可以使用FIRConfiguration中的setLoggerLevel方法控制默认的Firebase日志记录级别.例如,要禁用所有Firebase日志记录:

  [[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
  [FIRApp configure];
Run Code Online (Sandbox Code Playgroud)

或者在Swift中:

FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min)
FirebaseApp.configure()
Run Code Online (Sandbox Code Playgroud)

在FIRLogger实现更多细节在这里

  • 对我来说,工作来自上述源代码的参数“-FIRDebugDisabled”:https://github.com/firebase/firebase-ios-sdk/blob/master/Firebase/Core/FIRLogger.m (2认同)
  • 请注意无法完成此工作的其他人:使用“-FIRDebugDisabled”,如下所述:/sf/answers/4013392001/ (2认同)

drf*_*oew 8

斯威夫特 4.0:

FirebaseConfiguration.shared.setLoggerLevel(.min) FirebaseConfiguration.shared.analyticsConfiguration.setAnalyticsCollectionEnabled(false)

  • swift 5 和最新的 Firebase 不再支持第二个 (6认同)
  • 是的,我已经测试过了。 (3认同)
  • 您确定“FirebaseConfiguration.shared.setLoggerLevel(.min)”在语法上是正确的? (2认同)

Jos*_*phH 6

据我所知,以下两行:

[[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
[[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:NO];
Run Code Online (Sandbox Code Playgroud)

放在应用委托的很早 didFinishLaunchingWithOptions:将完全禁用FireBase分析,包括停止所有控制台输出。

从那以后,我还发现Google/SignIn不建议使用cocoapod-建议使用的是GoogleSignIn(即没有'/')。如果使用GoogleSignIn,则它不依赖Firebase Analytics,因此原来的问题就消失了。现在,我的应用程序中支持Google云端硬盘,并且没有Firebase Analytics!