Как остановить Firebase от обновления статуса регистрации при запуске приложения - программирование
Подтвердить что ты не робот

Как остановить Firebase от обновления статуса регистрации при запуске приложения

Когда я запускаю приложение FireBase, он регистрирует статус различных функций Firebase. Сейчас это то, что регистрируется:

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

Я просмотрел контейнеры и не нашел каких-либо заявлений о печати, так как еще я мог бы прекратить их из-за того, что они были записаны в овертайм. Я запускаю приложение?

4b9b3361

Ответ 1

Вы можете отключить ведение журнала отладки с флагом -FIRDebugDisabled.

Вы можете добавить его в scheme:

  • Выберите панель инструментов Scheme
  • Изменить схему
  • Выберите "Выполнить"
  • Нажмите "Аргументы" и добавьте -FIRDebugDisabled

Ответ 2

Добавьте FirebaseConfiguration.shared.setLoggerLevel(.min) до FirebaseApp.configure(), чтобы достичь минимального количества протоколирования.

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

Ответ 3

По умолчанию Firebase будет регистрировать информацию, ошибки и предупреждения.
Таким образом, вы можете установить уровень регистратора, который вам когда-либо понадобится. Если вы установили для .Error, вы получите минимальный журнал только при ошибках.

setLoggerLevel перед FirebaseApp.configure(), как показано ниже

В Swift 2.3 и Firebase 4

 FirebaseConfiguration.sharedInstance().setLoggerLevel(.Error)
 FirebaseApp.configure()

В Swift 3 и Firebase 4

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

Ответ 4

В моем случае, чтобы скрыть лишнюю часть журнала консоли от Firebase, я сделал следующее:

  1. Перейдите к продукту → схема → изменить схему.
  2. На вкладке "Аргументы" в разделе "Переменные среды" добавьте OS_ACTIVITY_MODE = отключить

enter image description here

  • На тот случай, если вам это понадобится, просто снимите флажок.
  • Отключение OS_ACTIVITY_MODE иногда также отключает журналы для всех исключений

Редактировать: Как сказал @jesus-adolfo-rodriguez, это связано с Xcode. Так что, если вы не хотите OSLog на консоли Xcode, поместите переменную окружения OS_ACTIVITY_MODE, чтобы "отключить" в вашей схеме.

Ответ 5

По умолчанию Firebase Analytics будет регистрировать только 4 строки INFO в производстве + ошибки/предупреждения. Это должно быть очень мало, если все работает правильно. Добавление -noFIRAnalyticsDebugEnabled будет отключать журналы уровня DEBUG и всегда регистрироваться ERROR/WARN. Если вы видите какие-либо предупреждения или ошибки, вероятно, вам нужно что-то сделать, чтобы разрешить причину. Некоторые вещи, скорее всего, не будут работать правильно, если будут регистрироваться предупреждения/ошибки. Приложение, которое правильно настроено, не должно регистрировать ошибки/предупреждения.

Сообщения, помеченные FIRInstanceID/*, регистрируются Firebase Notification, и ошибки/предупреждения всегда регистрируются.

Ответ 6

Swift 4 Firebase 4.10

Установите уровень ведения журнала в вашем AppDelegate.swift

FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)

Вот полный код:

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

Ответ 7

FIRConfiguration.sharedInstance().setLoggerLevel(.min)
FIRApp.configure()

В Swift 4

Ответ 8

Как сказал дджаби, вы не можете отключить эти журналы, если они INFO, WARNING или ERROR.

Я хочу добавить к ответу Nitin Gohel, поскольку я не могу комментировать: флаг FirebaseAppDelegateProxyEnabled не предназначен для отключения журналов. Если вы отключите его, вы потеряете отслеживание автоматической кампании, и вам нужно будет добавить методы из FIRAnalytics (AppDelegate), чтобы самостоятельно обрабатывать URL-адрес и активность пользователя.

Ответ 9

Чтобы добавить к ответу от Alex, от https://firebase.google.com/docs/cloud-messaging/ios/client

FirebaseAppDelegateProxyEnabled предназначен для проверки ваших методов делегирования приложений

API FCM выполняет метод swizzling в двух ключевых областях: сопоставление маркера APN с маркером регистрации FCM и захват аналитических данных во время обработки обратного вызова сообщений. Разработчики, которые предпочитают не использовать swizzling, могут отключить его, добавив флаг FirebaseAppDelegateProxyEnabled в файл apps Info.plist и установив его в NO (логическое значение). Соответствующие области руководств содержат примеры кода, как с включенным, так и без метода swizzling.