iOSApp中如何将DB放入沙盒区并访问路径?

How to put DB in Sandboxed area in iOS App and access the path?

现在,我在 Linux 和 Window 上使用了数据库数据。

我想把它放在 iPhone 中,并在我的 iOS 应用程序中使用它们。

如何将数据库放入我的iOS应用程序的沙箱区域??路径在哪里?

通常你会使用FileManager方法url(for:in:appropriateFor:create:)构建一个文件URL:

let fileURL = try! FileManager.default
    .url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
    .appendingPathComponent("test.sqlite")

因此,如果您的包中有一个空白数据库,您可以将数据库的初始副本复制到上述文件 URL,然后使用 URL 从那个文件中打开它点上。或者,如果您以编程方式从头开始创建数据库,您将再次使用此结果文件 URL.

但是不要在任何地方保存这个绝对路径。始终像上面一样以编程方式构建它。


请注意,过去我们曾经使用 .documentsDirectory 来处理类似的事情(您会在网络上看到很多类似的答案)。但是现在我们会使用 .applicationSupportDirectory。观看 iOS Standard Directories: Where Files Reside document or the iOS Storage Best Practices 视频。