我正在尝试将一个url保存为书签,以便持久访问iphone上的文件。为此,我调用了bookmarkData函数。但是为了防止我遇到的错误,比如:
Error Domain=NSCocoaErrorDomain Code=260 "The file couldn’t be opened because it doesn’t exist."
我试图在调用函数时添加withSecurityScope选项。虽然我在苹果的文档中找到了很多关于这个选项的参考,但在使用NSURL.BookmarkCreationOptions.withSecurityScope时我似乎找不到它。上面只写着'withSecurityScope' is unavailable。我也查看了类的定义,但仍然没有成功。
我希望有人能在这里帮我。非常感谢!
发布于 2018-09-27 03:53:22
有两个阶段。
NSOpenPanel中)从url创建书签数据并保存它让data = try url.bookmarkData(options:.withSecurityScope) UserDefaults.standard.set( data,forKey: UserDefaults.standard.set)使用它从UserDefaults获取数据并解析它
guard let data = UserDefaults.standard.data(forKey:"mySecureURL") else { //执行一些错误处理} var isStale = false让isStale = try URL(resolvingBookmarkData: data,options:.withSecurityScope,bookmarkDataIsStale:&isStale) if isStale{ //从当前url创建新的书签数据并再次保存,如1所述。}
现在可以使用url,但必须将其包装在以下两行中
url.startAccessingSecurityScopedResource() //对url url.stopAccessingSecurityScopedResource()做些什么
https://stackoverflow.com/questions/52524827
复制相似问题