我正在尝试保存从iCloud文档选择器返回的安全范围URL(UIDocumentPickerViewController) 文件说明: If the URL is not a ubiquitous URL, save a bookmark to the file using the bookmarkDataWithOptions:includingResourceValuesF
文件说明:
If the URL is not a ubiquitous URL, save a bookmark to the file using
the
bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:
method and passing in the NSURLBookmarkCreationWithSecurityScope
option. Calling this method creates a bookmark containing a
security-scoped URL that you can use to open the file without further
user intervention.
但是,编译器说iOS上不支持NSURLBookmarkCreationWithSecurityScope.
谁知道这里发生了什么……?
进一步挖掘后,结果是选项:NSURLBookmarkCreationWithSecurityScope
在 IOS中创建书签数据时根本不需要.它是OS X的一个选项.您可以为选项字段传递nil.我认为Apple的文档最让人困惑.
但是,您需要致电:
startAccessingSecurityScopedResource
在创建书签之前,确保在继续之前调用返回1(成功).否则,书签创建将失败.以下是示例代码:
if([url startAccessingSecurityScopedResource] == 1){
NSError *错误;
NSData * bookmark = [url bookmarkDataWithOptions:nil
includingResourceValuesForKeys:无
relativeToURL:无
误差:&安培;错误];
如果(错误)
//处理错误情况
其他
//保存你的书签
}
[url stopAccessingSecurityScopedResource];
苹果公司的文件再次出现了混乱!我花了很多时间才发现这一点.希望这可以帮助.