Google Maps SDK для iOS требует GoogleMaps.bundle будет частью вашей цели в разделе " копировать ресурсы Bundle

когда я создаю GoogleMaps SDK для 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 находится в ресурсах copy bundle.я в замешательстве.пожалуйста, скажите мне причину этой проблемы.

10 ответов


инструкции вроде как отсутствуют. Надеюсь, это поможет...

  1. запустить Xcode (легко)
  2. перетащите GoogleMaps.рамках пакета в рамках группа вашего проекта. При появлении запроса выберите Копировать элементы в папка целевой группы.

  3. щелкните правой кнопкой мыши GoogleMaps.framework в проекте и выберите Показать в Искатель. чего он не говорит, так это...Затем перейдите в дочернюю папку называется Resources

  4. перетащите GoogleMaps.пакет из папки Resources в папку проект. Мы предлагаем включить его в Рамочную группу. Когда подсказал,убедитесь, что копировать элементы в папку целевой группы не выбранный.


для людей 2017, ищущих на SO, самый простой способ действительно попробовать установку и обновление вашего стручка, конечно pod install и pod update. Затем, наконец, очистите проект и сборку этими двумя командами:

  1. Чистые Сборки: Command + alt option + Shift + K
  2. Очистить Проект: Command + Shift + K

затем вуаля! Авария больше не повторится.


для тех из вас, кто пробует это в 2017 году с Xcode 9 (первый релиз) и новой системой сборки, следующее решило это для меня.

Примечание: основная проблема заключается в том, что новая система сборки не очищается должным образом, поэтому вам нужно вернуться к старой системе. Также с 9/25/17 Google place picker вызывает UI из основного потока и бросает ошибки в Xcode.

-переключиться на старую систему сборки

-нажмите на файл проекта " Мой Имя Приложения"

- В разделе "Цели" нажмите свое имя приложения (не тесты или UITests!)

-построения фаз

- [CP] копировать стручки ресурсы

- вы должны увидеть ${PODS_ROOT} / GoogleSomething, выберите их и нажмите -

-закройте Xcode, запустите pod install.

-откройте Xcode, Command-Shift-K (очистите и убедитесь, что вы находитесь в старой системе сборки!)

-Build / Run, должен работать сейчас


Если вы испытываете эту проблему в более поздней версии этой структуры и используете развертывание CocoaPods, то проверьте, что "Копировать Ресурсы Стручков


запуск "pod install" исправил эту проблему для меня.


Если вы установили карту через CocoaPods, выполните следующие действия.

  1. перейти к целям > фазы сборки
  2. отключить "запустить скрипт только при установке" enter image description here

я столкнулся с той же проблемой, сделайте следующее:

1. Go to derived folder and delete the project folder
2. Clean build and run

Исправлена проблема


как только я обновился до Xcode 9 Swift 3.2, я продолжал получать сбой внутри AppDelegate в этой строке:

GMSServices.openSourceLicenseInfo()

я продолжал использовать ответ Гленна, чтобы очистить проект, который определенно работал, но в конечном итоге сбой продолжал происходить.

чтобы решить эту проблему, я должен был следовать указаниям в установка Google Maps API

выполните:

Шаг 2: Установите SDK и установить Вручную

это очень легко сделать, но 1 вещь смутила меня сначала, поэтому я добавляю ее для ясности для следующего человека:

после того, как вы прочитали инструкцию по эксплуатации и на номер 4 он говорит:

4. Drag the following bundles into your project (when prompted, select Copy items if needed): 

enter image description here

вещь находится внутри zip-файла, который вы загружаете, как только вы распакуете его, внутри него будет только 2 фреймворка:

GoogleMaps.framework
GoogleMapsCore.framework

не будет а GoogleMapsBase.framework. Я предполагаю, что они упаковали его в GoogleMaps.framework?

как только вы доберетесь до номера 8: Open the Build Phases tab, and within Link Binary with Libraries, add the following frameworks:. В нем перечислены несколько фреймворков, которые необходимо импортировать.

enter image description here

проблема заключается в первых 3, которые перечислены, что он говорит, чтобы добавить уже добавлены (на самом деле два из них были добавлены -GoogleMaps.framework и GoogleMapsCore.framework) когда вы распаковали этот zip-файл и перетащили его в свой проект.

я продолжал вводить имена и ничего не будет видно.

enter image description here

я продолжал удалять все фреймворки Google, начиная с самого начала и пытаясь снова, пока не понял, что они уже существуют. В основном введите имена всего из Accelerate.framework - UIKit.framework и вы должны быть хорошо.


завершение приложения из-за необработанного исключения "GMSException", причина: "Google Maps SDK для iOS требует GoogleMaps.пакет должен быть частью вашей цели в разделе "копировать ресурсы пакета"

  1. найти GoogleMaps.bundle на GoogleMap.frameword/Resources вы увидите GoogleMap.бандл
  2. перетащить GoogleMaps.bundle на Base/Framework С GoogleMapsBase.рамки

надеюсь, что это может помочь. Спасибо


для меня у меня такая же проблема в ручной установке.

1.щелкните правой кнопкой мыши GoogleMaps.framework в вашем проекте и выберите Показать в Finder .

  1. дважды щелкните или откройте этот GoogleMaps.рамки. мы можем видеть папку "ресурсы". (я добавил снимок экрана изображения для where GoogleMaps.пакет доступен)
  2. выберите папку Resources можно найти Гуглмапсе.бандл

enter image description here

  1. теперь просто отслеживать GoogleMaps.пакет в ваш проект. убедитесь, что копирование элементов в папку целевой группы Не выбрано. enter image description here

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

теперь очистите команду + Shift+K или Xcode-- > Product--> Clean

Это может помочь кто-то.