尝试获取 Documents 文件夹 URL 的 BAD_ACCESS 异常

Posted

技术标签:

【中文标题】尝试获取 Documents 文件夹 URL 的 BAD_ACCESS 异常【英文标题】:BAD_ACCESS exception trying to get the Documents folder URL 【发布时间】:2016-10-22 15:23:24 【问题描述】:

我对核心数据和 ios9 (9.3) 有奇怪的问题。此调用在 iOS9 上抛出 BAD_ACCESS:

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

它在 iOS 10 上运行良好,但在 iOS 9 上崩溃。

我在挖掘更多,发现即使我调用这个,应用程序也会崩溃:

print(FileManager.SearchPathDirectory.documentDirectory)

我错过了什么?某处的一些配置?我在全新的项目和设备/模拟器上都试过了。我通过从 Objective-C 桥接它暂时解决了它,但这不是正确的解决方案。

【问题讨论】:

您想要一个 pre-swift3 解决方案吗?还是适用于 ios 9 + 10 的 swift 3 解决方案? 适用于 ios9 + 10 的 Swift 3 解决方案 这和核心数据有什么关系? 我使用此代码获取持久协调器的路径,但我同意它与核心数据没有直接关系 【参考方案1】:

试试这个

let documents = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]

【讨论】:

我已经使用运行 iOS 9.0 的 iphone 5 模拟器对此进行了测试 嗯,这很奇怪。看起来我的设置中有一些错误。不知道在哪里。 您可以尝试在问题中添加更多代码并尝试向后工作【参考方案2】:

所以问题就在这里: https://github.com/apple/swift/pull/5055

等待新的 xcode。

【讨论】:

以上是关于尝试获取 Documents 文件夹 URL 的 BAD_ACCESS 异常的主要内容,如果未能解决你的问题,请参考以下文章

加载 URL svg 的不安全尝试

加载 URL svg 的不安全尝试

iOS - 将特定图像从捆绑资源路径复制到 Documents Dir

CSS样式表background:url(file:///C/Documents%20and%20Settings/?

iOS 从url中获取文件名以及后缀

我有一个 iCloud 文件的公共 URL,如何在 iOS 中获取直接下载链接?