我正在尝试保存从iCloud文档选择器返回的安全范围URL(UIDocumentPickerViewController)
文件说明:
如果URL不是普遍存在的URL,请使用bookmarkDataWithOptions:includesResourceValuesForKeys:relativeToURL:error:方法并传入NSURLBookmarkCreationWithSecurityScope选项将书签保存到文件中.调用此方法会创建一个包含安全范围URL的书签,您可以使用该URL打开文件而无需进一步的用户干预.
但是,编译器说iOS上不支持NSURLBookmarkCreationWithSecurityScope.
谁知道这里发生了什么......?
进一步挖掘后,结果显示选项:
NSURLBookmarkCreationWithSecurityScope
在IOS中创建书签数据时根本不需要.它是OS X的一个选项.您可以为选项字段传递nil.我认为Apple的文档最让人困惑.
但是,您需要
startAccessingSecurityScopedResource
在创建书签之前调用:并确保在继续之前调用返回1(成功).否则,书签创建将失败.以下是示例代码:
if([url startAccessingSecurityScopedResource]==1){
NSError *error;
NSData *bookmark = [url bookmarkDataWithOptions:nil
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&error];
if(error)
//handle error condition
else
// save your bookmark
}
[url stopAccessingSecurityScopedResource];
苹果公司的文件再次出现了混乱!我花了很多时间才发现这一点.希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |