настройка firebase с параметрами сбой в Xcode 11 и Firebase 6.19 - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь зарегистрировать второе приложение Firebase в моем приложении. Первый правильно зарегистрирован в методе didFinishWithLaunchingWithOptions (по умолчанию используется GoogleService-Info.plist)

FirebaseApp.configure()

Затем мне нужно получить новый googleAppId с сервера и настроить новое приложение, используя этот новый googleAppId и используя мой iOSID проклятия. Я делаю всю эту регистрацию внутри AppDelegate. Я регистрируюсь следующим образом:

let options = FirebaseOptions(googleAppID: String(format: "1:%a:ios:%a", googleID, iOSID), gcmSenderID: googleID)
//Deleting the first app in order to register the second
let app = FirebaseApp.app()
app?.delete { _ in }
FirebaseApp.configure(options: options)

Это работало хорошо, пока я не обновил свою версию Firebase с 6.2 до 6.19, теперь приложение падает на FirebaseApp.configure(options: options)

В журнале написано:

    Terminating app due to uncaught exception 'com.firebase.installations', reason
    '[Firebase/Installations][I-FIS008000] Could not confiure Firebase Installations die to invalid 
    Firebase options. The following parameters are nil or empty: `FirebaseOptions.APIKEY`. If you
    use GoogleServices-Info.plist please download the most recent version from the Firebase Console. 
    If you configure Firebase in code, please make sure you specify all required paramaters.

Стоит отметить, что в Analytics в Firebase версии 6.15 был добавлен новый Framework, поэтому мне пришлось добавить его для повторной компиляции приложения.

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

1 Ответ

1 голос
/ 19 апреля 2020

Насколько я вижу, сообщение приходит от здесь . Проверка, выполненная там, показывает, что эти три значения всегда должны быть указаны:

  if (appName.length < 1) {
    [missingFields addObject:@"`FirebaseApp.name`"];
  }
  if (appOptions.APIKey.length < 1) {
    [missingFields addObject:@"`FirebaseOptions.APIKey`"];
  }
  if (appOptions.googleAppID.length < 1) {
    [missingFields addObject:@"`FirebaseOptions.googleAppID`"];
  }

Из сообщения об ошибке и вашего кода похоже, что вы не указываете APIKEY в своем FirebaseOptions, который требуется согласно SDK.

...