Как правильно предоставить ключ api для GoogleMaps?

#ios #swift #google-maps #google-maps-sdk-ios

#iOS #swift #google-карты #google-maps-sdk-ios

Вопрос:

В настоящее время AppDelegate вызывает статический метод, который предоставляет ключ API для GMSServices. Ключ правильный, и сам метод возвращает true .

GMSServices.provideAPIKey(ConfigUtils.GoogleMaps.Key)

Несмотря на это, когда я пытаюсь открыть карту, ошибка

Exception NSException * "Google Maps SDK for iOS must be initialized via [GMSServices provideAPIKey:...] prior to use" 0x000060000383c8d0 происходит в приложении.

Есть ли что-нибудь еще, что мне нужно сделать, чтобы заставить GoogleMaps работать должным образом?

Я нашел это в другом вопросе:

Это может произойти, если часть вашего кода Google Maps запускается до инициализации ключа API.

но перед инициализацией ключа API нет никакого кода Google Maps.

Комментарии:

1. Можете ли вы показать свой код AppDelegate?

Ответ №1:

Для работы API Google Maps в вашем приложении не должно быть ничего другого. Если ссылка на ваш ключ API верна, возможно, вы вызываете provideAPIKey() в неправильном месте в вашем AppDelegate.

Вы точно вызываете provideAPIKey() правильную функцию в своем AppDelegate? Он должен вызываться внутри didFinishLaunchingWithOptions функции, вот так.

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    // Provide the API Key to allow the app to use Google Maps here.
    GMSServices.provideAPIKey(ConfigUtils.GoogleMaps.Key)
        
    return true
}