首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UIDocument中自动选择UIDocumentBrowserVC

在UIDocument中自动选择UIDocumentBrowserVC
EN

Stack Overflow用户
提问于 2018-02-12 16:03:31
回答 1查看 363关注 0票数 2

我正在使用一个uidocumentbrowservc,并希望以编程方式选择一个UIDocument。在我的例子中,这是因为我想自动加载上一次使用的UIDocument,以节省用户启动时的时间,因为我的应用程序很少更改文档。

我的天真方法是将上一次使用的URL存储在UserDefaults中。然后在我的viewDidLoad() of my uidocumentbrowservc中,我称之为presentDocument(at: URL)。但不起作用。当我调用URL.checkResourceIsReachable()时,我得到了错误:

错误Domain=NSCocoaErrorDomain Code=257“文件”“myFile”无法打开,因为您没有查看它的权限。

文件路径是:

代码语言:javascript
复制
/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/MyApp/myFile.

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 06:15:54

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

查看URL的bookmarkData(options:includingResourceValuesForKeys:relativeTo:)和选项.withSecurityScope和URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:(然后不要忘记对结果的URL调用开始/停止访问)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48750600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档