Xcode 如何向cocoa bundle项目添加沙盒权限

Xcode 如何向cocoa bundle项目添加沙盒权限,xcode,npapi,sandbox,Xcode,Npapi,Sandbox,有人知道如何向特殊的xcode项目(如cocoa bundle项目)添加沙盒权限吗 我正在开发一个Safari插件,它是在xcode中创建的,具有bundle项目类型。编译后的代码在SnowLeopard上运行良好,而在Lion上运行失败。通过调试我发现套接字无法打开!谷歌告诉我,Lion上的应用程序应该有沙箱权限,并将网络相关键设置为“是”,以获得网络访问权限 这对于cocoa应用程序来说非常简单,但事实证明它阻止了我使用插件,因为它不是一个应用程序,而是一个捆绑项目 如果有人能分享您的经验,

有人知道如何向特殊的xcode项目(如cocoa bundle项目)添加沙盒权限吗

我正在开发一个Safari插件,它是在xcode中创建的,具有bundle项目类型。编译后的代码在SnowLeopard上运行良好,而在Lion上运行失败。通过调试我发现套接字无法打开!谷歌告诉我,Lion上的应用程序应该有沙箱权限,并将网络相关键设置为“是”,以获得网络访问权限

这对于cocoa应用程序来说非常简单,但事实证明它阻止了我使用插件,因为它不是一个应用程序,而是一个捆绑项目


如果有人能分享您的经验,我将不胜感激。

最后我发现套接字连接失败与沙盒授权无关。这是由无效的主机地址引起的。NPAPI以字节形式传入字符串。它没有空终止符,您应该使用memcpy和UTF8Length来复制数据。我使用strcpy获取主机地址,这会产生无效值。

Hmm。。。这绝对是一份令人担忧的报告。插件的一般经验法则是,您只拥有父进程所拥有的特权或权限,而无法控制这些特权或权限。如果您无法使其正常工作,也许您可以将工作委托给特权后台助手进程?