2015-12-03 2 views
1

Я пытаюсь создать быстрый проект, используя САЙТУ IOS Premium SDK. После многих попыток я смог «успешно» объединить obj-c НАЙТИ IOS Premium SDK к моему проекту Swift. Мой проект компилируется и строит, но не выполняет инициализацию отображения карты во время выполнения. настроить ключи в приложение делегата:Инициализация NMAMapView не удалась ЗДЕСЬ iOS SDK с мостом

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    NMAApplicationContext.setAppId(kHelloMapAppID, appCode: kHelloMapAppCode, licenseKey: kHelloMapLicenseKey) 
    return true 
} 

У меня есть контроллер с IBOutlet из NMAMapView типа вида:

@IBOutlet weak var mapView: NMAMapView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    let coordinates: NMAGeoCoordinates = NMAGeoCoordinates(latitude: 37.33233141, longitude: -122.0312186) 
    mapView.setGeoCenter(coordinates, withAnimation: .Rocket) 
    mapView.zoomLevel = 13.2 
    mapView.copyrightLogoPosition = NMALayoutPosition.BottomCenter 
} 

Когда я пытаюсь запустить приложение он компилирует и строит, но когда используется контроллер вида. Появляется следующее сообщение об ошибке.

2015-12-02 22:34:31.045 BridgedHEREMapsSDK[1162:25254] Failed to set up map cache 
2015-12-02 22:34:31.046 BridgedHEREMapsSDK[1162:25254] *** NMAKit WARNING: Error: NMAMapView initialization failed 

Мое мнение по-прежнему загружается, но не отображает карту. Кроме того, код из моего метода viewDidLoad запускается после печати ошибки. Как бы то ни было, когда создается выход:

@IBOutlet weak var mapView: NMAMapView! 

Любые идеи будут оценены. Спасибо.

***** EDIT *****
Я создал совершенно новый проект, включающий основные функции данных в моем проекте и, похоже, сейчас работает.

ответ

0

У вас нет импорта NMAMapView в вашем проекте-мостике-Header.h !!! Постарайтесь следить за этим сайтом, https://github.com/RYANCOAL/swift-with-AFNetworking Но вам не нужно устанавливать PF и POS поиск AFNetworking. Выбор yourproject.xcodeproj, где открывается проект, как обычно.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - http://stackoverflow.com/help/how-to-answer –

+0

@ RYANCOAL9999 В моем файле заголовка У меня есть следующие: '#import ' В NMAKit.h импорта очередь все остальные необходимые заголовки, включая отображение карты. я могу получить доступ к объекту вида карты, то есть то, что это странно, как в моем viewDidLoad я могу сделать что-то вроде этого: 'mapView.addMapObject (mapCircle)' или 'mapView.setGeoCenter (NMAGeoCoordinates (широта: 49.258867, долгота: -123.008046), withAnimation: NMAMapAnimation.Линейный) ' –

+0

Это потому, что есть класс модуля, похожий на каркасы. Класс модуля может обращаться к другому файлу .h для модуля NMAMapView, никакого такого файла, поэтому вы можете сделать что-то вроде этого mapView.addMapObject (mapCircle) !! – RYANCOAL9999

1

Вы должны добавить NMABundle.bundle в свои «Копировать ресурсы Bundle» в «Build Phases».

enter image description here

NMABundle.bundle в этом пути: NMAKit.framework/Версии/A/Ресурсы/NMABundle.bundle

0

Эта задача была решена путем добавления функциональности ядра к проекту (см мой выбор в оригинальный вопрос)

0

Objective-C и Swift в том же проекте

MyApp-Bridging-header.h

// 
// Use this file to import your target's public headers that you would like to expose to Swift. 
// 

#import <NMAKit/NMAKit.h> 
Смежные вопросы