在uidocumentbrowservc中自动选择uidocument



我正在使用 uidocumentbrowservc,并希望以编程方式选择UIDocument。就我而言,这是因为我想自动加载最后使用的UIDocument来节省启动时的时间,因为我的应用很少会更改文档。

我的天真方法是将最后使用的URL存储在UserDefaults中。然后在我的uidocumentbrowservcviewDidLoad()中,我致电presentDocument(at: URL)。但这无效。当我致电URL.checkResourceIsReachable()时,我会收到错误:

错误域= nscocoaerrordomain code = 257"文件" myfile"无法 由于您没有权限查看它而被打开。"

文件路径是:

/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/MyApp/myFile.
据我了解,

我无法访问它,因为它不在我的沙箱中(用户可以保存在任何地方?(。

有什么建议吗?我相信有更好的方法可以做到这一点。

您不能仅保存URL。您还需要保存UIDBVC授予您的沙箱扩展。保存书签而不是URL将做到这一点。此外,如果用户移动文件(例如,在其他设备上的iCloud驱动器中重命名为Inside(,书签将继续工作。普通的URL不会。

查看URL的BookMarkData(选项:包括Resourcevaluesforkeys:relativeto :)具有选项。WITHSECURITYSCOPE和URLBYRYVINGBOOCBOOKMAKKDATA:选项:Relativetourl:bookmarkDataISstale:erry:error:error:error:>

相关内容

  • 没有找到相关文章

最新更新