【发布时间】:2017-02-23 22:32:37
【问题描述】:
我有一个沙盒应用。我希望用户能够将图片从照片应用拖到我的沙盒应用中。
我编写了用于处理来自照片的“承诺文件”的所有代码,当它与非沙盒应用程序一起使用时没有问题。但是对于我的沙盒应用程序,照片告诉我它无权将图片文件写入目标文件夹......这是我的沙盒应用程序内的临时文件夹。
即使在临时文件夹中,照片也无法在我的沙箱中写入这种逻辑。但是由于我的应用在沙盒之外无法访问,我怎样才能将文件从照片交换到我的应用???
编辑以根据要求提供一些代码
NSString *tempPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSUUID UUID] UUIDString]] ;
NSError *error = nil ;
[[NSFileManager defaultManager] createDirectoryAtPath:tempPath
withIntermediateDirectories:NO
attributes:nil
error:&error] ;
filenames = [sender namesOfPromisedFilesDroppedAtDestination:[NSURL fileURLWithPath:tempPath]] ;
(文件名是全局变量 NSArray)
并且照片显示的错误消息(对不起,图片是法语,但该消息并不是真正有用,因为它无法完全显示。显示的部分显示“0个文件(共1个) ) 导出。无法将“图像”移动到“文件夹”:要么此文件夹不存在,要么该文件夹不能被 //cut//
我当然检查过该文件夹确实存在。
编辑更多信息
我想我找到了一条调查路径:
当我在临时文件夹中创建唯一文件夹时,它会获得一个“隔离”标志。我检查了使用终端和“ls -l”,可以在权限后看到一个“@”。现在,如果我不创建唯一文件夹,照片可以直接将文件放到临时文件夹中。因此问题是照片不能使用“隔离”文件夹。
现在这还没有帮助。因为无论如何放置图片文件也设置了隔离标志,我的应用程序无法读取它!
我没有找到摆脱这些隔离标志的方法。
最奇怪的是,如果我只是一步一步地使用调试器,一切都可以正常工作。
【问题讨论】:
-
能否贴出获取临时目录的代码?
-
按要求添加代码
标签: cocoa drag appstore-sandbox