【发布时间】:2013-12-23 04:50:45
【问题描述】:
我正在对一个应用程序进行沙盒处理(该应用程序已在非沙盒环境中成功运行了几年)。
它需要批量的 PDF 并进行一些更改并导出它们。
用户有两种选择:
-将生成的 PDF 导出到指定文件夹,或
-将 PDF 导出到与原始文件相同的文件夹中。
第一个选项没有问题:用户在NSOpenPanel中选择一个文件夹,我创建安全范围的书签,稍后解决,文件保存成功。
但是,当用户选择将每个文件保存到其封闭文件夹中时,他们不会明确选择任何文件夹。他们只选择文件。
我可以为每个文件创建安全范围的书签,但它仍然不允许我访问文件的封闭文件夹。尝试保存文件时出现权限错误。
当我尝试为封闭文件夹创建书签时,我收到一条错误消息,提示无法打开文件:
NSURL *url = [NSURL fileURLWithPath:[filePath stringByDeletingLastPathComponent]];
NSData *bookmarkData = [url
bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&err];
据我了解,这是因为用户没有明确选择文件夹,因此无法创建安全范围的书签。
我进行了广泛的研究并尝试了各种选择,但无济于事。
任何帮助将不胜感激!
【问题讨论】:
标签: objective-c cocoa url sandbox bookmarks