如何在 iOS 模拟器上创建设备商店的 URL
Posted
技术标签:
【中文标题】如何在 iOS 模拟器上创建设备商店的 URL【英文标题】:How create a URL to device store on iOS simulator 【发布时间】:2018-08-14 15:10:46 【问题描述】:我正在使用 SQLite 在我的应用程序中存储数据。要查看我的数据,我需要访问模拟器商店并执行查询。每次我在 ios 模拟器上安装应用程序时,模拟器的路径都会改变。 例如路径是:
/Users/augustosansoncadini/Library/Developer/CoreSimulator/Devices/56B6ED1A-8B79-4D5C-836D-D813EEA9FE2F/data/Containers/Data/Application/E7A7BCBD-53FE-4C84-8685-7EA1896694FF/Documents
当我创建 SQLite 上下文时,我输入了这个路径:
static let fileUrl = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true).appendingPathComponent("Database.sqlite3")
因此,Database.sqlite3 存储在应用程序文件夹的文档文件夹中。但是当我重新安装应用程序时,应用程序的名称会发生变化。
就像我经常需要访问这个文件一样,我创建了一个别名来导航到这个文件夹,但是别名不起作用,因为应用程序的代码发生了变化,所以我想在 iOS 模拟器的商店中创建一个数据库文件,但我不知道我必须在这一行输入什么路径:
static let fileUrl = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true).appendingPathComponent("Database.sqlite3")
【问题讨论】:
【参考方案1】:通过“我重新安装应用程序”。你的意思是你从模拟器设备中删除然后重新安装?或者你的意思是当你重新运行应用程序时?
如果是第二个,那么您将永远找不到您的数据库,因为您将其与应用程序一起删除。
【讨论】:
问题来了,我需要将文件保存在 iOS 的文件夹中,而不是 app 文件夹中。【参考方案2】:我认为您真正需要的是一个可以自动处理文件路径更改的 SQLite 编辑器,因此您不必担心路径实际更改为什么,对吧?
如果答案是肯定的,那么试试SQLiteFlow,它可以在 App Store 上找到,并且从它的文档中可以看到:
处理数据库文件名或目录更改。这使得 SQLiteFlow 可以在 iOS 模拟器中与您的 SQLite 数据库友好地工作。
【讨论】:
以上是关于如何在 iOS 模拟器上创建设备商店的 URL的主要内容,如果未能解决你的问题,请参考以下文章