Skobbler didFinishRouteCalculationWithInfo数组异常

时间:2016-07-18 13:40:24

标签: ios navigation skmaps skobbler-maps

在iOS中使用Skobbler Maps时获取异常。看起来像并发异常导致数组访问无效,但由于Skobbler提供的代码存在问题,因此不确定修复破解代码的最佳方法。

请参阅标有“HERE !!!”的行在下面的代码中:

文件:SKTNavigationManager.m

8   libobjc.A.dylib - objc_exception_throw + 332 (objc-exception.mm:568)
9   CoreFoundation - [__NSArrayM objectAtIndex:] + 240 (NSArray.m:410)
10  MyApp -[SKTNavigationManager routingService:didFinishRouteCalculationWithInfo:]_block_invoke + 676 (SKTNavigationManager.m:463)

报告的例外情况是......

InetAddress addr1 = InetAddress.getByName("www.kymcolux.com");

有什么想法吗?我可以在读取progressViews数组之前检查_calculatedRoutes的大小,但是我遇到的问题是在访问两者之后还有其他代码。换句话说,我可以避免使用该行,但如何修复该方法才能正常工作?

1 个答案:

答案 0 :(得分:1)

SKTNavigationManager内部(以及整个SDKTools项目内部)的代码是作为开放代码提供的 - 它不是SDK本身的一部分,而是构成一些演示代码/辅助类,可以帮助您解决常见场景(构建简单的导航UI) ,处理离线地图等。)。

一些开发人员使用此代码作为文档,其他人使用它"按原样#34;在他们的项目中,其他人从它开始并根据自己的喜好进行自定义。

在你的特殊情况下,我不确定你是如何达到这种不一致状态的(使用vanilla代码,在演示项目中我无法复制这个) - 如果你认为你有一个并发问题,请随意插入额外的检查或同步机制。