删除沙盒

时间:2011-08-10 21:55:54

标签: cocoa macos sandbox

我还有另一个问题涉及应用沙盒。所以我需要访问用户的主目录,同时应用程序应该能够关闭Mac。这需要不使用沙盒。

我的问题是我不知道如何删除沙盒并能够将应用程序提交到Mac App Store。我认为档案是沙箱的,因为我曾经把它打开过一次......

如何正确删除档案中的沙箱?

感谢您的帮助!

5 个答案:

答案 0 :(得分:18)

在Xcode 11上,您可以通过从“签名和功能”标签中将其删除来关闭沙箱:

enter image description here

答案 1 :(得分:7)

如果我理解您的要求正确,则需要从项目中删除entitlements.plist,并确保Xcode中目标的摘要视图已关闭沙盒:< / p>

No sandboxing or entitlements

答案 2 :(得分:6)

正如Derek Wade所指出的那样,你可以创建一个像GarageBand X这样的应用程序(由于Sandboxing而使用像Amplitube这样的第三方插件表现得很糟糕)不是通过使用像HexFiend这样的HEX编辑器编辑二进制文件而在沙箱中运行的。寻找:

<key>com.apple.security.app-sandbox</key>

在该位之后,您将立即看到真正的标签,正如我所建议的那样,我切换到了“真正的标签”。 (没有额外的字节)现在GarageBand将很乐意与第三方VST插件进行交互。好哇。

答案 3 :(得分:2)

我发现如果你进入.app包,在Contents / MacOS下,应该有一个与你的应用名称相匹配的二进制文件。将该文件复制到您的桌面。使用TextEdit编辑文件的桌面副本。您应该在文件中找到应用程序的权利的文本表示(xml)。找到Sandbox权利标志(通常设置为&lt; true /&gt;)并将其更改为&lt; false /&gt;。编辑时必须解锁文件。保存文件(位于桌面上)。重命名.app包中的原始文件(即将.old附加到文件名)。将桌面文件复制回.app包位置(您可能需要对其进行授权)。这应该删除沙盒。

答案 4 :(得分:0)

如果用户通过Sandbox运行您的应用程序,则无法删除Sandbox 这就是重点 - 你不觉得吗?