ios - Como impedir que o Firebase registre atualizações de status quando o aplicativo é iniciado




iphone (6)

Sempre que eu inicio o aplicativo FireBase, ele registra o status de vários recursos do Firebase. No momento, isso é o que está sendo registrado:

Configuring the default app.

<FIRAnalytics/INFO> Firebase Analytics v.3200000 started

<FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see ...)

<FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist

<FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO

<FIRAnalytics/INFO> Firebase Analytics enabled

Analisei os pods e não encontrei nenhuma declaração impressa. De que outra forma eu faria para impedir que essas ocorressem horas extras em log executado o aplicativo?


Adicione FirebaseConfiguration.shared.setLoggerLevel(.min) antes do FirebaseApp.configure() para obter a quantidade mínima de registro.

func setupFirebase() {
  FirebaseConfiguration.shared.setLoggerLevel(.min)
  FirebaseApp.configure()
}

Como djabi disse, você não pode desabilitar esses logs se eles forem INFO, WARNING ou ERROR.

Eu quero adicionar a resposta do Nitin Gohel desde que eu não posso comentar: O sinalizador FirebaseAppDelegateProxyEnabled não é para desabilitar os logs. Se você desativá-lo, perderá o acompanhamento automático de campanhas e precisará adicionar os métodos do FIRAnalytics (AppDelegate) para lidar com a URL e a atividade do usuário.


Para adicionar à resposta de Alex, em https://firebase.google.com/docs/cloud-messaging/ios/client

FirebaseAppDelegateProxyEnabled é usado para aplicar os métodos de delegação do seu aplicativo

A API do FCM executa o método swizzling em duas áreas principais: mapeando seu token de APNs para o token de registro do FCM e capturando dados de análise durante o tratamento de retorno de chamada de mensagem de recebimento de dados. Os desenvolvedores que preferem não usar o swizzling podem desativá-lo adicionando o sinalizador FirebaseAppDelegateProxyEnabled no arquivo Info.plist do aplicativo e definindo-o como NO (valor booleano). As áreas relevantes dos guias fornecem exemplos de código, com e sem o método swizzling ativado.


Por padrão, o Firebase Analytics registra somente 4 linhas de INFO em produção + erros / avisos. Isso deve ter uma saída muito pequena se as coisas funcionarem corretamente. Adicionar -noFIRAnalyticsDebugEnabled só desabilitará os logs de nível DEBUG e ERROR / WARN serão sempre registrados. Se você vir algum aviso ou erro, provavelmente precisará fazer algo para resolver a causa. Algumas coisas provavelmente não funcionarão corretamente se avisos / erros forem registrados. O aplicativo configurado corretamente não deve registrar erros / avisos.

As mensagens marcadas com FIRInstanceID / * são registradas pelo Firebase Notification e os erros / avisos são sempre registrados.


Swift 4 Firebase 4.10

Defina o nível do registrador em seu AppDelegate.swift

FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)

Aqui está o código completo:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)
    FirebaseApp.configure()
    return true
}

Você pode desabilitar o log de depuração com o sinalizador -FIRDebugDisabled .

Você pode adicioná-lo ao seu scheme :

  1. Selecione a barra de ferramentas Scheme
  2. Editar esquema
  3. Selecione Executar
  4. Clique em Argumentos e adicione -FIRDebugDisabled