Подтвердить что ты не робот

GoogleMaps (GMSView) не будет отображаться в iOS

Я включил следующее:

  • Попробовал импортировать как GoogleMaps/GoogleMaps.h, так и файлы GoogleMapsM4B/GoogleMaps.h через Obj-C заголовок заголовка
  • Вручную напечатал ключ API iOS в моем методе AppDelegate.swift (didFinishLaunchingWithOptions).
  • Очистить проект (команда + shift + k)
  • Закрытый/перезапущенный Xcode
  • Удаленный/переустановленный Xcode

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

Жалоба на консоль:

> "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest
> failed, 3 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050
> {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959
> randoPracty[608:10014] ClientParametersRequest failed, 2 attempts
> remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The
> operation couldn’t be completed. (com.google.HTTPStatus error 400.)"
> UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length =
> 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ...
> 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014]
> ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60
> {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest
> failed, 0 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) cannot connect or validate APIKey: Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid
> for your bundle ID: com.User.ProjectName"
4b9b3361

Ответ 1

У меня тоже была та же проблема. Прежде всего, выполните следующие действия.

  • У вас есть все шаги, упомянутые в этой ссылке?

  • Хотя вы не можете пройти, проверьте, что ваш идентификатор Bundle совпадает с тем, который вы использовали для создания ключа.

Если все хорошо и хорошо, проблема связана с каркасом. Первоначально я тоже использовал структуру GoogleMapsM4B, которая не работала для меня. Я загрузил другую структуру, которая отлично подходит для меня из этой ссылки.

Добавьте новую структуру (GoogleMaps.framework) и удалите структуру GoogleMapsM4B из проекта. Это решило мою проблему. Надеюсь, это поможет вам.

EDIT:

Начиная с версии 1.10.0, установка рамки поддерживается только через cocoapods. И все zip-загрузки были удалены для предыдущих версий. В разделе this вы прочитаете раздел "Миграция с 1.9.2 или ранее:" в разделе "Версия 1.10.0 - май 2015".

Ответ 2

Просто включите "Google Maps SDK для iOS" для своего проекта в Google Developers Console.

Ответ 3

У меня была та же проблема. В моем случае мне пришлось вручную активировать SDK Google Maps для iOS и SDK Google Places для iOS в разделе "Обзор" библиотеки API Google.

Действия по его активации:

  • Перейдите на страницу Обзор в библиотеке API.
  • Выберите SDK Google Maps для iOS и SDK Google Places для iOS.

введите описание изображения здесь

  1. Выберите в верхнем левом углу второй элемент. На скриншоте он теперь включен. Перед тем, как он был отключен.

введите описание изображения здесь

Возможно, это тоже помогает кому-то.

С уважением Matt

Ответ 4

Можете ли вы обновить свой вопрос, чтобы предоставить более подробную информацию? (версия xcode, версия Google Maps Framework и т.д.)

  • Дважды проверьте, что ваш ключ API действителен для вашего идентификатора пакета на странице console.developer.google.com.
  • При запуске проверьте и проверьте, не возникли ли какие-либо ошибки SSL в консоли. В моем случае у меня были проблемы с сертификатами в Google, и это мешало загрузке моих карт.
  • Убедитесь, что в вашем проекте есть только структура M4B или нормальная структура. Если вы включите оба, я уверен, что они конфликтуют друг с другом.

Надеюсь, что это поможет; он просто случайно начал правильно работать в моем случае.

Ответ 5

Проверьте идентификатор Bundle, указанный в целевом параметре проекта Xcode, и страницу проекта google, на которой вы создали ключ API Google. оба должны совпадать, иначе GMSServices.provideAPIKey(googleMapsAPiKey) пройдет, но вы получите сообщение об ошибке

Операция не может быть завершена. (ошибка com.google.HTTPStatus 400.)