尝试导入MBTiles时MapBox崩溃

时间:2014-03-25 17:40:48

标签: ios objective-c offline mapbox

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

但是我的应用程序在这一行崩溃了:

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文件可以下载而不是由开发人员预先导入。

1 个答案:

答案 0 :(得分:2)

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