SKMapsVersioningDelegate使用本地maps.json文件管理更新

时间:2015-04-22 16:09:40

标签: ios objective-c maps skmaps

我正在编写一个使用skmaps的应用程序,在这个问题/答案之后:

skobbler can i cache json data?

我已经传递到本地maps.json文件,而是每次应用程序启动时直接下载。现在我正在尝试使用SKMapsVersioningDelegate管理地图的更新过程。

- 我的第一个问题是,更新地图是什么意思?标准实现中的这种委托方法只会在使用应用程序期间覆盖带有新版本的maps.json文件,或者委托将不更新我的应用程序中的json文件,并且它只更新包的我已下载的地图供离线使用?

- 如果委托处理或替换maps.json文件,有一种模拟地图更新的方法吗?在我的资源文件夹中,我有一个json映射文件,其版本设置为20140910.无论如何,如果我记录我的实际版本:

 SKVersionInformation *latestVersion = availableVersions[0];
NSLog(@"Actual version %@",latestVersion.version);

我将检索此版本号20141230.在此过程中,从未调用过SKMapsVersioningDelegate。 SKVersionInformation哪里有搜索信息?

1 个答案:

答案 0 :(得分:1)

请查看2.5地图更新演示。

Maps.json文件是存储在本地还是远程都无关紧要,它是决定新地图是否可用的版本文件。

更新SDK将检测到新版本文件可用并将更新它。完成此操作后,您必须手动确定每个板载地图包,是否要重新下载。

更新API不会自动更新本地Maps.json,因此您必须手动执行此操作。这就是说,为了更新板载软件包,你不需要重新解析Maps.json文件,但你只需要知道它们的名字(标识符) - 即对于加利福尼亚州,这将是:USCA。包标识符不会从版本更改为版本