0

我在我的应用程序上启用了文件共享,因此,当您在 iTunes 中查看文档文件夹时,那里有 Core Data sqlite 文件等待用户摆弄。

我发现了一些关于此的讨论,但令人惊讶的是,似乎没有人解决我的担忧。

有人说将它们“移动”到库文件夹中 - 在自定义子目录中,另一个说只是重命名文件,每个文件都以句点为前缀。

这两个选项听起来都不错,但这些都是必不可少的操作系统文件!所以我的第一个问题是,如果你做这些事情中的任何一个(使用 NSFileManager.defaultManager() - 我想),应用程序会在之后自动找到它们吗?...或者是否有一种特定的“方式”可以让您(其中任何一个)...以便应用程序在之后找到它们?

任何回复,如果您可以演示使用 Swift 而不是 Objective C,将不胜感激!谢谢, :)

4

2 回答 2

2

想通了:对于任何想知道同样事情的人(我见过很多人这样做),

在我的应用程序委托 > 'persistentStoreCoordinator' 惰性变量中,我更改了以下代码行:

let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("MyAppName.sqlite")

到以下两行代码:

let library = NSFileManager.defaultManager().URLsForDirectory(.LibraryDirectory, inDomains: .UserDomainMask)[0] as NSURL
let url = libary.URLByAppendingPathComponent("MyAppName.sqlite")
于 2016-05-27T23:55:53.433 回答
1

这将是 Swift 3 / 4 的语法:

    let library = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask)[0] as NSURL
    let url = library.appendingPathComponent("MyAppName.sqlite")
于 2018-02-14T03:30:47.367 回答