iOS10 + Xcode8 documentDirectory 奇怪的行为

iOS10 + Xcode8 documentDirectory weird behavior

Xcode8/Swift3/iOS10 中的 documentDirectory,在一个框架中,在 iOS 中似乎不可写。

API 的使用/尝试:

FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)

NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)

(Swift中最后一个好像不是首选,这个我能理解)

现在,每当我尝试将文件写入此区域返回的 URL 时,我似乎无法这样做(模拟器和设备)。下载容器或检查它也不显示文件(我尝试了几种写入方法)。还试图创建一个目录来写入似乎失败了。

奇怪的是 API 使用的或 FileManager 本身没有返回错误。

我是否遗漏了一些可怕的观点?这是我应该报告的错误吗?目前我改为在 Library/ 中创建一个目录,因为这似乎可行并且不应该像 Library/Cache/.

那样不稳定

用于编写的代码(在我决定这样做之前使用了 realm.io):

let URLs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let data = Data.random(32) // Generates a 32 byte long random blob 
try! data.write(to: URLs.last!) // Crashing here with a forced unwrap is fine

您正在写入的路径无效 – 您传递的是目录路径,而不是您要创建的文件的路径。您可以设计这样的路径:

let path = NSString(string: URLs.last!.path).appendingPathComponent("foo.txt")

原来你需要完全重置模拟器并重新启动 Xcode。有趣的东西。