使用文件路径初始化地理数据库的对象返回“找不到文件

initiaize object of AGSGeodatabase with file path is returning "File not found

我想 post 在 esri 社区上提出这个问题,但我无法在那里登录。

我创建了离线地理数据库并将其中的图层显示到地图上。

我的问题是当我第一次下载 geoDatabse 并显示其中的数据工作正常时。 但是当我重新启动应用程序并从路径创建 AGSGeodatabase 对象时,"self.generatedGeodatabase.load" 函数给出错误

Error Domain=com.esri.arcgis.runtime.error Code=14 "File not found" UserInfo={NSLocalizedFailureReason=, NSLocalizedDescription=File not found, Additional Message=}

我创建的 url 是:-

file:///var/mobile/Containers/Data/Application/60CF7AE1-2DE1-4FA0-805A-6140D4829E89/Documents/GeoDatabase/2018-05-134T18:29:01+0530.geodatabase

我创建的对象是这样的:-

         if let geoDatabasePath = URL(string: SettingsManager.geoDatabasePath) {
            self.generatedGeodatabase = AGSGeodatabase(fileURL: geoDatabasePath)
            self.displayLayersFromGeodatabase()
        }

此函数运行时出现错误:-

 self.generatedGeodatabase.load(completion: { [weak self] (error:Error?) -> Void in
        if let error = error {
            print(error)
        }
})

以前我只是将 geoDatabse 的路径保存到首选项(在创建 geoDatabse 时),当我重新启动应用程序时,即使文件在那里,应用程序也没有检测到该位置的 geoDatabse。

这个问题的解决方案我发现是在运行时检测geoDatabse路径并使用FileManager创建路径。然后就可以了。