web-dev-qa-db-ja.com

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

(上の出力のURLにXを追加して、stackoverflowのURL短縮ブロッカーを通過させる必要がありました。)

Info.plistでFIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDをYESに設定しようとすると、2行が削除されましたが、アナリティクスが無効(FFS!)であることを伝えるために2行追加されました。

このスパム出力により、開発者は実際に重要なコンソール出力を見ることが難しくなります。どうすれば無効にできますか?

(これに失敗すると、各行を1回だけ出力する方法についての提案は大歓迎です。)

16
JosephH

私の知る限りでは、次の2行です。

[[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
[[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:NO];

アプリデリゲートのdidFinishLaunchingWithOptions:は、すべてのコンソール出力の停止を含め、FireBase分析を完全に無効にします。

それ以来、私はGoogle/SignIn cocoapodは非推奨です-使用が推奨されるのはGoogleSignInです(つまり、「/」なし)。 GoogleSignInを使用する場合、これはFirebase Analyticsへの依存関係がないため、元の問題はなくなります。現在、アプリでGoogleドライブがサポートされており、Firebase Analyticsがありません。

6
JosephH

これは出力に埋め込まれています。

<Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging
 set the following application argument: -FIRAnalyticsDebugEnabled

無効化はその逆です-引数を設定します:-noFIRAnalyticsDebugEnabled:

enter image description here

さらに、FIRConfigurationのsetLoggerLevelメソッドを使用して、デフォルトのFirebaseログレベルを制御できます。たとえば、すべてのFirebaseログを無効にするには:

  [[FIRConfiguration sharedInstance] setLoggerLevel:FIRLoggerLevelMin];
  [FIRApp configure];

またはSwiftで:

FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min)
FirebaseApp.configure()

FIRLogger実装の詳細 ここ

22
Paul Beusterien

Swift 4.0:

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

2
drfalcoew