Mac OS应用程序,带命令行工具的沙箱?
问题描述:
我制作了一个包含命令行工具的应用程序。我已经启用了应用程序的沙箱,并测试它的工作原理。我还对应用程序和命令行工具进行了代码签名。Mac OS应用程序,带命令行工具的沙箱?
但是,当我上传应用程序到iTunes,我收到一封电子邮件告诉我“应用程序沙盒未启用”。
显然,我需要设置的关键com.apple.security.app-sandbox
授权文件与true
值,并列出了可执行文件:/Contents/MacOS/myApp
和/contents/Frameworks/x86/myCommandLineTool
。
我确定我已经在Xcode中启用了沙箱,所以我认为问题出在命令行工具上。
如何启用沙盒的命令行工具?还是有一个特定的文件夹,我应该把这个工具?任何建议的欢迎 - 我已经困扰了好几天。
答
我有同样的问题和一些搜索,审判&错误之后,这是对我工作:
创建一个授权文件 - 对我来说,这只是com.apple.security.inherit集到YES。我在xcode本身创建了这个文件。
-
现在使用命令签署这一命令行工具:
codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool
-
只是可以肯定,请使用以下命令:
codesign --display --entitlements - ./commandlinetool
这个工具已经包含在项目中。所以只要编,归档&提交
状态现在是否为“等待审核”。
感谢andrewdotnich的编辑。 – dinosaur 2012-08-06 03:39:22