2015-08-03 3 views
25

Я хотел бы добавить GoogleMaps в мой проект iOS, но я не хочу использовать CocoaPods. Есть ли способ достичь этого?GoogleMaps без CocoaPods

+0

Вы не обязаны использовать cocoapods или любую систему отслеживания версий. вам необходимо загрузить репо из _GitHub_ и добавить файлы в проект вручную. – holex

+0

С тех пор, когда Cocoapods когда-либо требовалось Oo – TheCodingArt

+0

@holex, насколько я знаю, нет ни одного - для iOS по крайней мере: https://github.com/googlemaps?page=1 .. у вас есть ссылка на один, если он существует? – user2243357

ответ

70

Конечно, есть:

Как я сделал это (полезно для любой библиотеки вам нужно)

  • Для этого вам понадобится: https://cocoapods.org/pods/GoogleMaps
  • Нажмите на «См Podspec» ссылку библиотеки в правом нижнем углу
  • Вы собираетесь быть приняты в podspec.json
  • В конце JSON, найти ключ «источник» и использовать URL, предоставленную скачать SDK.

Если вам нужны инструкции о том, как установить его вручную, вы можете использовать waybackmachine websitea и поставить соответствующий URL-адрес, установив более раннюю дату. Я спасу вас некоторое время:

Добавление Google Maps старый способ:

  1. запуска Xcode и либо открыть существующий проект или создать новый проект.
    • Если вы новичок в iOS, создайте приложение Single View и убедитесь, что включен автоматический подсчет ссылок.
  2. Перетащите пакет GoogleMaps.framework в свой проект. При появлении запроса выберите Копировать пункты в папку целевой группы.
  3. Щелкните правой кнопкой мыши GoogleMaps.framework в вашем проекте и выберите «Показать In Finder».
  4. Перетащите файл GoogleMaps.bundle из папки «Ресурсы» в ваш проект. При появлении запроса убедитесь, что скопировать элементы в папку целевой группы не выбрано.
  5. Выберите проект из Навигатора проектов и выберите цель своего приложения.
  6. Откройте вкладку Построить Phases, и в Link Binary с библиотеками, добавьте следующие рамки:
    • AVFoundation.framework
    • CoreData.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libC++. Dylib
    • libicucore.dylib
    • libz.dylib
    • OpenGLES.рамки
    • QuartzCore.framework
    • SystemConfiguration.framework
  7. Выберите свой проект, а не конкретной цели, и откройте вкладку Параметры построения.
    • В разделе «Другие флагов линкера» добавьте -ObjC. Если эти параметры не отображаются, измените фильтр на панели «Настройки сборки» с «Базовый на все».
  8. Наконец, добавьте ключ API в свой AppDelegate.
    • #import <GoogleMaps/GoogleMaps.h>
    • Добавьте следующие строки в методе application:didFinishLaunchingWithOptions:, заменяя api_key с ключом API. [GMSServices provideAPIKey:@"API_KEY"];

Добавьте следующие строки в методе application:didFinishLaunchingWithOptions:, заменяя API_KEY с ключом API.

[GMSServices provideAPIKey:@"API_KEY"]; 
+8

Вам также понадобится CoreBluetooth.framework и Accelerate.framework, иначе вы получите неопределенные ошибки символов. Протестировано на Xcode 7 для iOS 9 – marcos1490

+1

Я следил за этим руководством и установил фреймворк вручную - спасибо за информацию! У меня теперь есть проблема, когда я не могу получить мое приложение для компиляции, ошибка: ld: рамки не найдены GoogleMaps для архитектуры x86_64 clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов) Любые предложения? – edcs

+0

Спасибо за это! Согласно последнему podspec [link] (https://github.com/CocoaPods/Specs/blob/master/Specs/GoogleMaps/1.10.5/GoogleMaps.podspec.json), вам также необходимо добавить структуру CoreGraphics. –

2
  1. https://www.gstatic.com/cpdc/aa3052925ceeea2d-GoogleMaps-1.13.2.tar.gz Копировать и открыть этот адрес.

  2. Перетащите на свой проект Xcode GoogleMaps.framework.

    * выберите Копировать элементы в папке назначения группы

  3. правой кнопкой мыши на GoogleMaps.framework -show в искателе

  4. папку Внутренние ресурсы GoogleMaps.bundle, Перетащите это Project (* Не выбирайте копию пункт).

  5. Импорт Несколько FrameWork

    • CoreBluetooth.framework
    • OpenGLES.framework
    • ImageIO.framework
    • CoreData.framework
    • CoreText.framework
    • QuartzCore.framework
    • SystemConfiguration.fr amework
    • GLKit.framework
    • CoreLocation.framework
    • Security.framework
    • Accelerate.framework
    • LibC++ abi.tbd
    • LibC++. 1.tbd
    • Libc.TBD
    • libicucore.tbd
  6. Выберите проект откройте вкладку Параметры построения. В разделе «Другие флагов ссылок» добавьте -ObjC в обоих. Screen shot of adding -ObjC

  7. импорт

    Добавьте следующие приложения: didFinishLaunchingWithOptions: метод, замена api_key с ключом API. [GMSServices giveAPIKey: @ "API_KEY"];

    (* прибудет апи ключ https://developers.google.com/maps/documentation/ios-sdk/places#whats_in_the_api_name_ios_places)

    Пожалуйста, дайте мне знать, какую-либо ошибку, которую вы нашли. Он работает для Xcode 7 +, iOS 9+.