Mapbox在ios中使用mbtiles时显示异常并终止
Posted
技术标签:
【中文标题】Mapbox在ios中使用mbtiles时显示异常并终止【英文标题】:Mapbox show Exception and terminate when using mbtiles in ios 【发布时间】:2013-06-24 08:22:11 【问题描述】:我正在使用 MapBox 示例并且我已经导入了我的 mbtiles 文件。我收到此错误:
MB 示例[8517:c07] * 由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'* -[NSURL initFileURLWithPath:]: 零字符串参数'
我已经检查了我的 mbtile 文件及其在 x-code 上的加载,所以没有问题。
【问题讨论】:
试试这个:***.com/a/20531295/2245407 【参考方案1】:RMMBTilesSource
确实在使用该代码。您需要确保您的 OSMBright.mbtiles
文件是项目目标的一部分并被添加到您的包中,以便可以将其作为切片源提取。就像您需要在应用程序中使用的任何资源一样,仅仅成为 Xcode 项目的一部分是不够的。
【讨论】:
【参考方案2】:从您的问题本身可以清楚地看出崩溃的原因。 原因:[NSURL initFileURLWithPath:]:nil 字符串参数。 您正在初始化 NSURL,但未传递 nil 参数。搜索initFileURLWithPath
,查看参数是否为nil
[NSURL initFileURLWithPath:] // Pass a valid path here
【讨论】:
RMMBTilesSource *offlinesource=[[RMMBTilesSource alloc]initWithTileSetResource:@"OSMBright" ofType:@"mbtiles"];这是创建异常的一行代码 可能是 RMMBTilesSource 使用该代码。在 xcode 中按 cmd+shift+F 然后搜索该字符串【参考方案3】:您的问题无法以当前格式正确回答。您需要添加与问题相关的代码。
问题是您将 nil 参数传递给 initFileURLWithPath
方法。
mbtiles
文件可能丢失。所以它会return nil
,也可以在 Mapbox 中发布。
请检查您是否将其正确添加到项目中。
【讨论】:
【参考方案4】:有同样的错误。您确定将 MapBox.bundle 从 .framework 复制到您的 Xcode-Project 中,如此处所述: https://www.mapbox.com/mapbox-ios-sdk/
? 这为我解决了问题!
【讨论】:
以上是关于Mapbox在ios中使用mbtiles时显示异常并终止的主要内容,如果未能解决你的问题,请参考以下文章