2015-03-04 2 views
1

Я настраиваю пример, используя фрагмент событий навигации Skobbler's Handling. Когда я звонюEXC_BAD_ACCESS при вызове startNavigationWithSettings (navSettings)

SKRoutingService.sharedInstance().startNavigationWithSettings(navSettings) 

Я получаю EXC_BAD_ACCESS. Вот код:

override func viewDidLoad() { 
     super.viewDidLoad() 
     let mapView = SKMapView(frame: CGRectMake(0.0, 0.0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame))) 
     mapView.delegate = self 
     self.view.addSubview(mapView) 

     SKRoutingService.sharedInstance().routingDelegate = self 
     SKRoutingService.sharedInstance().navigationDelegate = self 
     SKRoutingService.sharedInstance().mapView = mapView 

     var route = SKRouteSettings() 
     route.startCoordinate = CLLocationCoordinate2DMake(37.9667, 23.7167) 
     route.destinationCoordinate = CLLocationCoordinate2DMake(37.9677, 23.7567) 
     route.shouldBeRendered = true 
     route.numberOfRoutes = 1 
     SKRoutingService.sharedInstance().calculateRoute(route) 
} 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    func routingService(routingService: SKRoutingService!, didFinishRouteCalculationWithInfo routeInformation: SKRouteInformation!) { 

     routingService.zoomToRouteWithInsets(UIEdgeInsetsZero) 

     var navSettings = SKNavigationSettings() 
     navSettings.navigationType = SKNavigationType.Simulation 
     navSettings.distanceFormat = SKDistanceFormat.Metric 
     SKRoutingService.sharedInstance().mapView.settings.displayMode = SKMapDisplayMode.Mode3D 
     SKRoutingService.sharedInstance().startNavigationWithSettings(navSettings) 
    } 
+0

Является ли это последним 2.4 SDK или предыдущим 2,3? – Ando

+0

Это с 2.4 SDK – Jaromir

+0

Devs изучают это - мы вернемся с ответом в эти дни – SylviA

ответ

1

Проблема заключается в том, что свойство audioAdvisorSettings в SKRoutingService не настроен.

SKAdvisorSettings = SKAdvisorSettings() 
    settings.advisorVoice = "en_us"; 
    SKRoutingService.sharedInstance().advisorConfigurationSettings = settings 
+0

Насколько я понимаю, Audio Services - это еще один вариант, который пользователь может вообще не использовать и не может включать пакет SKAdvisorResources в своих ресурсах , В таком случае зачем настраивать SKAdvisorSettings? чтобы максимально упростить ситуацию, я намеренно попытался максимально упростить пример. – Jaromir

+0

Это правильно - это не требуется. В следующем обновлении мы исправим это поведение, но пока вам нужно настроить аудиосообщения (вам не нужно использовать/добавлять аудиосообщения - просто установите основные настройки) – Ando

+0

Благодарим вас за разъяснения. Я изменю свой код, как вы советуете. – Jaromir