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"
Ответы
Ответ 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.
![введите описание изображения здесь]()
- Выберите в верхнем левом углу второй элемент. На скриншоте он теперь включен. Перед тем, как он был отключен.
![введите описание изображения здесь]()
Возможно, это тоже помогает кому-то.
С уважением
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.)