2014-03-25 53 views
1

对于离线使用mapbox,我创建了mymap.mbtiles文件,我的应用程序将使用它来显示地图。用户可以按下按钮,相应的.mbtiles文件将被下载并保存在文档目录中。尝试导入MBTiles时MapBox崩溃

但是我在这条线的应用程序崩溃:

RMMBTilesSource *offlineSource = [[RMMBTilesSource alloc] initWithTileSetResource:@"MYMAP" ofType:@"mbtiles"]; 
     _mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:offlineSource]; 

错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter' 

this问题。

这用于工作正常,但在我更新到更新版本的MapBox时发生此错误。

该链接中问题的答案表示您的.mbtiles文件需要成为项目目标的一部分并添加到该包中。下载文件并将其保存到文档目录不够?如果不是,我该如何修复它,以便.mbtiles文件可以下载,而不是由开发者提供。

回答

2

而不是使用-initWithTileSetResource:ofType:,这是用于捆绑资源,请尝试-initWithTileSetURL:并指向文档目录中的文件。

+0

非常感谢。奇怪的是,这在几个月前用于我的工作。 –