2013-03-23 124 views
1

我有一点点的访问使用此代码应用程序脚本的默认文件夹(我认为这是做正确的方式)麻烦的NSFileManager访问NSApplicationScriptsDirectory:在沙盒应用

NSError* error; 
NSURL* scriptsFolderURL = [[NSFileManager defaultManager] URLForDirectory: NSApplicationScriptsDirectory inDomain: NSUserDomainMask appropriateForURL: nil create: YES error: &error]; 

NSLog(@"%@", scriptsFolderURL); 
NSLog(@"%@", [error description]); 

问题是NSLog呼叫打印(null),这意味着我没有得到任何东西。我究竟做错了什么?

+0

如果你只是'NSLog(@“%@”,error)'',你会得到什么错误? – gaige 2013-03-23 13:05:41

+0

相同:'(null)' – Alex 2013-03-23 13:08:18

+0

你确定你在沙箱中运行吗? – gaige 2013-03-23 13:13:21

回答

0

只要你有一个有效的Info.plist包含一个有效的应用程序包ID,并在OS X 10.8下运行,这应该很好。

但是,我可以确认,API返回nil并返回nil并不罕见,这是一个在API合约之外的错误。

+0

嗯,我将不得不得到10.8反正,所以这可能是一个很好的时间...感谢您的帮助 – Alex 2013-03-23 13:53:58

+0

我可以证实它完美的作品10.8 – Alex 2013-03-24 17:40:13

+0

奇怪。我正在测试10.8.2,我遇到了这个问题 - 无处不在。我的应用程序不是沙盒,但这不是要求它工作,是吗? – 2013-06-27 10:48:03

0

NSApplicationScriptsDirectory的评论如下:

脚本调用应用程序 (〜/资源库/应用程序脚本/代码签名-ID)

文件夹的用户

//位置

代码签名标识提供了您必须启用代码签名的提示。只要启用代码签名,您就会收到一个正确的URL。