【问题标题】:`save(to:for:completionHandler:)` of `UIDocument` crashes`UIDocument` 的`save(to:for:completionHandler:)` 崩溃
【发布时间】:2017-04-27 06:09:53
【问题描述】:

我在save(to:for:completionHandler:) 上运行 iOS 9 的每个 32 位设备/模拟器上都会崩溃。

Xcode 8.2。基础 SDK 为 10.2。目标是 9.0。标准架构。 Swift 3. 适用于开发和发布版本。 Sample project.

找不到它是否已知,也没有任何相关问题。你能推荐任何解决方法吗?我应该需要 64 位架构吗?

【问题讨论】:

  • 请贴出相关代码和错误描述。
  • 在运行 iOS 9 的 iPhone 5 上运行示例项目。
  • 看。它的代码行数最少。相关代码实际上在标题中。它在保存调用和完成调用之间的某处崩溃。错误是 EXC_BAD_ACCESS。我看不出有任何不赞成投票的理由!

标签: ios swift uidocument


【解决方案1】:

变通方法是返回 NS 对象,苹果工程师特别推荐NSMutableData

override func contents(forType typeName: String) throws -> Any {  
    guard let data = text.data(using: .utf8) else { ... }
    if #available(iOS 10, *) {
        return data
    } else {
        return NSMutableData(data: data)
    }
}

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多