的Mac OS的应用程序,沙箱中的命令行工具?(Mac OS app, sandbox with c

2019-06-26 19:10发布

我做了一个应用程序,其中包括一个命令行工具。 我已经启用了应用程序的沙箱,并测试了它的工作原理。 我也代码双方签署的应用程序和命令行工具。

但是,当我上传应用程序到iTunes,我收到了电子邮件,告诉我“应用沙箱未启用”。

显然,我需要设置关键的授权文件com.apple.security.app-sandboxtrue价值,并列出了可执行文件: /Contents/MacOS/myApp/contents/Frameworks/x86/myCommandLineTool

我敢肯定,我已经启用沙箱在Xcode,所以我想这个问题是使用命令行工具。

我怎样才能启用命令行工具沙盒? 还是有我应该把工具的特定文件夹? 任何建议表示欢迎 - 我已经好几天了困扰吧。

Answer 1:

我有同样的问题,经过一番搜索,尝试错误,这是对我工作:

  1. 创建一个授权文件 - 对我来说这只是com.apple.security.inherit设置为YES。 我创建在Xcode本身这个文件。

  2. 现在使用命令签署这一命令行工具:

     codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool 
  3. 只是可以肯定,请使用以下命令:

     codesign --display --entitlements - ./commandlinetool 
  4. 这个工具已经包含在项目中。 所以只要编,归档和提交

状态现在为“等待审核”。



文章来源: Mac OS app, sandbox with command line tool?