ios - 尝试导入 MBTiles 时 MapBox 崩溃

标签 ios objective-c offline mapbox

为了离线使用 mapbox,我创建了一个 mymap.mbtiles 文件,我的应用程序将使用它来显示 map 。用户可以按下一个按钮,相应的 .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 文件,而不是由开发人员预先导入。

最佳答案

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

关于ios - 尝试导入 MBTiles 时 MapBox 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642318/

相关文章:

ios - AFNetworking 和 -[__NSCFBoolean 长度] : unrecognized selector sent to instance 0x1f54358

ios - WKWebview/UIWebview 的限制是什么

cordova - ionic / Cordova 的Firebase离线功能

ios - 为什么界面生成器不允许我将 uiview 添加到 uitableview ?

ios - 为什么在 ARC 中发送消息会导致保留周期警告,但属性集不会?

ClearCase:脱机工作劫持文件,然后 check out /合并

mysql - delphi mysql离线连接

ios - 在选择标签栏项目时显示 View Controller

ios - Realm swift 线程安全变量

iphone - 如何在大型中央调度操作中运行异步操作?