我有一个 iOS 应用程序,我正在尝试使用 UserDefaults 保留并重新加载书签数据。似乎工作正常,但我遇到一个问题,有时从书签数据到 URL 的转换失败。它似乎在一段时间内工作正常(甚至在应用程序终止和重新启动等情况下),但最终书签数据将失败(可能在几个小时后?)。
\n\n因此,在解析书签数据时,如下所示:
\n\nlet url = try URL(resolvingBookmarkData: data, bookmarkDataIsStale: &isStale)
抛出捕获的异常并附带描述:Error Domain=NSCocoaErrorDomain Code=4 "The file doesn\xe2\x80\x99t exist."
我将书签作为数据存储在 UserDefaults 中。我简单地使用以下内容创建书签数据:
\n\nlet bookmarkData = try url.bookmarkData(options: .minimalBookmark)
有趣的是,如果我再次从文档选择器中手动选择相同的文件,则存储在 UserDefaults 中的原始书签将再次可访问。
\n\n我已经审查了 GitHub 中的开源代码,没有发现我的实现与其他实现有任何本质上的不同。寻找有关可能导致此问题的原因的任何提示或想法。
\n