Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Cocoa 使用沙盒从本地路径加载nsimage文件_Cocoa_Nsurl_Nsimage_Appstore Sandbox_Nsopenpanel - Fatal编程技术网

Cocoa 使用沙盒从本地路径加载nsimage文件

Cocoa 使用沙盒从本地路径加载nsimage文件,cocoa,nsurl,nsimage,appstore-sandbox,nsopenpanel,Cocoa,Nsurl,Nsimage,Appstore Sandbox,Nsopenpanel,我正在尝试从本地卷加载PNG图像。用户使用普通的NSOpenPanel选择文件。启用沙盒后,init方法加载本地文件并返回nil。 我也尝试使用NSURL,但我不知道如何使用本地存储的文件,这些文件不在远程或捆绑包中。加载图像时使用的代码可能重复?我仍然无法加载图像。我仍然认为这取决于沙箱。它没有很好的文档记录,我相信所有以正常方式开发应用程序的程序员都需要激活沙箱,他们将在这些问题中运行。我的代码是:NSString*url=[[NSString stringWithFormat:@]file

我正在尝试从本地卷加载PNG图像。用户使用普通的
NSOpenPanel
选择文件。启用沙盒后,init方法加载本地文件并返回nil。
我也尝试使用
NSURL
,但我不知道如何使用本地存储的文件,这些文件不在远程或捆绑包中。

加载图像时使用的代码可能重复?我仍然无法加载图像。我仍然认为这取决于沙箱。它没有很好的文档记录,我相信所有以正常方式开发应用程序的程序员都需要激活沙箱,他们将在这些问题中运行。我的代码是:NSString*url=[[NSString stringWithFormat:@]file://localhost%@%@%@“,pathWithoutFilename,@/,imageFileName]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSURL*NSURL=[NSURL URLWithString:url];NSImage*sourceImage=[[NSImage alloc]initWithContentsOfURL:nsurl];nsurl正确指向图像事实上我可以在预览弹出窗口中看到它调试nsurl对象,路径格式正确:“file://localhost/Users/myname/etc../file.png“也许我已经理解了这个问题:我的应用程序从plist文件中的url加载文件。当我拖放时,沙盒允许访问此文件,但用户无法识别此文件中路径指定的文件,因此沙盒会阻止它们。如何避免使用沙盒?当我禁用它时,苹果会拒绝我的应用程序。