Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用NSMediaQueries和沙箱_Macos_Cocoa_Sandbox_Nsurl - Fatal编程技术网

Macos 使用NSMediaQueries和沙箱

Macos 使用NSMediaQueries和沙箱,macos,cocoa,sandbox,nsurl,Macos,Cocoa,Sandbox,Nsurl,我正在使用NSMediaQueries检测已拍摄的新屏幕截图。但要将我的应用程序推送到商店,我需要将其沙盒化 不幸的是,沙箱破坏了我的NSMediaQueries,因为我无法访问返回的URL 我知道云应用程序是沙盒的,能够抓取最新的屏幕截图 有人知道如何解决这个问题吗 谢谢 守则摘要: query = [[NSMetadataQuery alloc] init]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@

我正在使用NSMediaQueries检测已拍摄的新屏幕截图。但要将我的应用程序推送到商店,我需要将其沙盒化

不幸的是,沙箱破坏了我的NSMediaQueries,因为我无法访问返回的URL

我知道云应用程序是沙盒的,能够抓取最新的屏幕截图

有人知道如何解决这个问题吗

谢谢

守则摘要:

query = [[NSMetadataQuery alloc] init];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidStartGatheringNotification object:query];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidUpdateNotification object:query];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidFinishGatheringNotification object:query];

[query setDelegate:self];
[query setPredicate:[NSPredicate predicateWithFormat:@"kMDItemIsScreenCapture = 1"]];
[query startQuery];


我与苹果公司进行了讨论。事实证明,如果您没有访问该文件夹的权限,URL将仅为
nil

您正在访问的是什么?返回的URL是否在粘贴板上?此外,在沙箱处理时,您必须为希望应用程序执行的操作启用权限。您应该阅读以确保正确实现了沙盒。我已经阅读了。这些是截图吗?是的,它们确实返回URL(在非沙盒模式下指向桌面),您从哪里访问URL?你能发布一些代码吗?用代码摘录更新。想知道我做错了什么吗当你记录[查询结果]时你看到了什么?如果您没有得到一个
NSMetadataItem
s数组,则某些内容已损坏。我会开始在代码中设置大量nslog,看看它的失败之处。
numberOfScreenshots = [query resultCount];
[self uploadToAmazonS3:[[[query results]objectAtIndex:([query resultCount]-1)]valueForAttribute:NSMetadataItemURLKey]];