#ios #google-maps #swift #google-maps-sdk-ios #xcode6
#iOS #google-карты #swift #google-maps-sdk-ios #xcode6
Вопрос:
Я изучаю Swift и изо всех сил пытаюсь понять, как интегрировать рамки SDK Google Map. Я создал новый проект в Xcode 6, импортировал необходимые фреймворки в соответствии с инструкциями Google Map SDK для iOS.
Однако, когда я импортирую платформу Google Maps с помощью (import) в файл AppDelegate.swift, платформа не распознается.
Нигде не удается найти решение. Пожалуйста, помогите.
Ответ №1:
После того, как вы импортировали Google Maps iOS SDK, вам необходимо определить заголовок моста, тогда SDK будет распознан.
Чтобы создать этот заголовок моста, добавьте произвольный файл Objective-C (например, .m
файл) в свой проект. Xcode запросит вас, следует ли настроить заголовок моста для вас.
Нажмите Да, чтобы продолжить.
В -Bridging-Header.h
ваш проект будет добавлен файл, заканчивающийся на .
Просто добавьте #import <GoogleMaps/GoogleMaps.h>
заголовок моста, и все готово!
Кроме того, теперь безопасно удалить этот временный файл Objective-C.
Комментарии:
1. Большое вам спасибо, Аарон, это решило мою проблему. Похоже, что создание файла .m-файла просто для получения опции заголовка Bridging, возможно, это будет проще в релизной версии.
2. @Catalyea, я согласен. Я ожидал, что заголовок моста будет добавлен при импорте библиотеки Objecitve-C в проект. Надеюсь, это будет улучшено в следующем начальном этапе.
3. привет, не могли бы вы показать мне, как добавить ключ API в swift, пожалуйста? Спасибо. Из sdk Google Maps: developers.google.com/maps/documentation/ios/… Добавьте в свое приложение следующее:didFinishLaunchingWithOptions: метод, заменив API_KEY вашим ключом API. [GMSServices provideAPIKey:@»API_KEY»];
4. @Duc просто вызовите
GMSServices.provideAPIKey
свой ключ API вfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?)
5. Теперь с Xcode Beta 3 — это больше не работает! 🙁
Ответ №2:
Теперь вы можете установить SDK через CocoaPods, и вам не нужно добавлять заголовок Bridging. Просмотрите этот учебник (ссылка на Google Maps iOS SDK) и просто добавьте следующий код в функцию didFinichLaunchingWithOptions вашего AppDelegate.
GMSServices.provideAPIKey("API_KEY")
Ответ №3:
Добавьте временный файл Objective-C в свой проект. Вы можете присвоить ему любое имя, которое вам нравится.
Выберите Да, чтобы настроить заголовок Objective-C.
Удалите временный файл Objective-C, который вы только что создали.
В только что созданном файле ProjectName-Bridging-Header.h добавьте эту строку:
‘#импорт < GoogleMaps/GoogleMaps.h >’
Отредактируйте файл AppDelegate.swift:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
GMSServices.provideAPIKey("AIza....") //iOS API key
return true
}
Перейдите по ссылке для получения полного примера