用于从其他应用DocumentBrowserViewController
程序访问文件时,是否可以存储对这些文件的访问权限?
具体问题
目前,出于概念证明的目的,我将通过 选择的文件的 url 打印DocumentBrowserViewController
到控制台,在我的代码中的某处硬编码该 url,然后尝试再次打开该文件。这不起作用,因为:{Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
现在,有没有办法存储访问权限?
在一篇博客文章中,我发现了一些使用:
do {
let data = try sourceURL.bookmarkData(
options: URL.BookmarkCreationOptions.withSecurityScope,
includingResourceValuesForKeys: nil,
relativeTo: nil)
print(data)
} catch {
print(error)
}
但是withSecurityScope
“不可用”。(准确地说'withSecurityScope' has been explicitly marked unavailable here (Foundation.NSURL)
:)
有没有办法做这种事情?
预先问候和感谢:)
编辑
所以也许我这个问题有点草率,上面的代码只需要调整为:
do {
let data = try sourceURL.bookmarkData(
options: URL.BookmarkCreationOptions.minimalBookmark,
includingResourceValuesForKeys: nil,
relativeTo: nil)
print(data)
} catch {
print(error)
}
然后可以像这样使用这些数据:
let url = try URL.init(resolvingBookmarkData: data, bookmarkDataIsStale: &stale)!
:)