SDK Google Maps для iOS требует, чтобы GoogleMaps.bundle был частью вашей цели в разделе "Ресурсы копирования Bundle"
Когда я создаю SDK GoogleMaps для iOS, произошла эта ошибка.
*** Terminating app due to uncaught exception 'GMSException', reason: 'Google Maps SDK for iOS requires GoogleMaps.bundle to be part of your target under 'Copy Bundle Resources''
но GoogleMaps.framework находится в ресурсах копий. Также, я запутался. Сообщите мне причину этой проблемы.
Ответы
Ответ 1
Инструкции отсутствуют. Надеюсь, это поможет...
- Запустить Xcode (легко)
-
Перетащите пакет GoogleMaps.framework в рамки
группы вашего проекта. При появлении запроса выберите Копировать элементы в
папка целевой группы.
-
Щелкните правой кнопкой мыши GoogleMaps.framework в вашем проекте и выберите "Показать в
Finder. Что он не говорит... Затем перейдите в дочернюю папку Resources
-
Перетащите файл GoogleMaps.bundle из папки "Ресурсы" на ваш
проект. Мы предлагаем поместить его в группу Frameworks. когда
prompt, обеспечить копирование элементов в папку целевых групп не
выбран.
Ответ 2
К 2017 людям, которые ищут SO, самый простой способ - действительно попробовать установить и обновить свой модуль, конечно, pod install
и pod update
. Затем, наконец, очистите проект и сборку этими двумя командами:
- Очистить сборку:
Command + alt option + Shift + K
- Чистый проект:
Command + Shift + K
Тогда вуаля! Сбой больше не повторится.
Ответ 3
Для тех из вас, кто пробовал это в 2017 году с Xcode 9 (первый выпуск) и новой системой сборки, следующее разрешило это для меня.
Примечание. Основная проблема заключается в том, что новая система сборки НЕ очищается должным образом, поэтому вам нужно вернуться к старой системе. Также по состоянию на 9/25/17 сборщик Google выбирает пользовательский интерфейс из основного потока и бросает ошибки в Xcode.
-Перейти к старой системе сборки
-книгайте свой файл проекта "Мое имя приложения"
-Подробнее "TARGETS" нажмите имя вашего приложения (не тесты или UITests!)
Фазы -build
- [CP] Ресурсы копирования ресурсов
-Вы должны увидеть ${PODS_ROOT}/GoogleSomething, выбрать те и нажать -
-Закрыть Xcode, запустить pod install.
-Откройте Xcode, Command-Shift-K (очистите и УБЕДИТЕСЬ, ЧТО ВЫ НАХОДИТЕСЬ В СТАРШЕЙ СТРОИТЕЛЬНОЙ СИСТЕМЕ!)
-Build/Run, должен работать сейчас
Ответ 4
Если вы столкнулись с этой проблемой в более поздней версии этой структуры и используете развертывание CocoaPods, проверьте, что раздел "Копировать ресурсы Pods" в разделе "Сборка фаз":
![введите описание изображения здесь]()
По-видимому, этот раздел, пропавший без вести, является делом и удаляет каталог Pods и повторное выполнение "pod install" недостаточно для его исправления. Вместо этого вам нужно будет захватить этот удобный инструмент:
https://github.com/CocoaPods/cocoapods-deintegrate
Запустите эту вещь, а затем повторно запустите программу установки pod, и ваш раздел "Ресурсы копий" должен вернуться, и вы не получите это исключение, когда вы создаете экземпляр своей карты.
Ответ 5
запуск "pod install" исправил эту проблему для меня.
Ответ 6
Как только я обновился до Xcode 9 Swift 3.2, я все время получал сбой внутри AppDelegate в этой строке:
GMSServices.openSourceLicenseInfo()
Я продолжал использовать ответ Гленна, чтобы очистить проект, который определенно работал, но в конечном итоге произошел сбой.
Чтобы решить эту проблему, мне пришлось следовать указаниям в Установка Google Maps API
Следуйте:
Шаг 2: установите SDK и Установить вручную
Ответ 7
Завершение приложения из-за неперехваченного исключения "GMSException", причина: "SDK Google Maps для iOS требует, чтобы GoogleMaps.bundle был частью вашей цели в разделе" Ресурсы копирования ресурсов "
- найдите
GoogleMaps.bundle
в GoogleMap.frameword/Resources
, вы увидите GoogleMap.bundle
- Перетащите
GoogleMaps.bundle
в Base/Framework
с помощью GoogleMapsBase.framework
надеюсь, что это может помочь. Благодаря
Ответ 8
Если вы установили карту через CocoaPods, выполните следующие шаги.
- Перейдите к TARGETS > Фазы сборки
- Отключить 'Run script только при установке'
![введите описание изображения здесь]()