【问题标题】:App sandbox not enabled未启用应用沙箱
【发布时间】:2019-11-30 01:23:24
【问题描述】:

我有自己的可执行文件,名为“testQueue”,并与我的主应用程序(testApp)捆绑在一起以满足我的要求。 testQueue 是一个用 C 语言编写的可执行文件。

我使用以下选项将此可执行文件沙盒化并添加到应用程序中:

  • 代码签名:Mac 开发者第 3 方应用程序
  • 在 testQueue.entitlements 中启用 com.apple.security.app-sandbox = TRUE
  • 在 testQueue.entitlements 中启用 com.apple.security.inherit = TRUE

我仍然收到来自苹果审查团队的以下错误。

"App sandbox not enabled - The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list. Refer to the App Sandbox page for more information on sandboxing your app.

testApp.app/Contents/Resources/testQueue"

我想知道是否需要在项目设置中添加其他内容?

【问题讨论】:

  • 您似乎没有正确设置此捆绑可执行文件的权利。
  • 实际上对于那个捆绑的可执行文件,我们有那个源代码(C 代码)。如果我们在 xcode 中打开该源代码,我们没有启用权利的选项。所以我们在 xcode 中手动添加了 productname.entitlements 并将其构建为可执行文件。然后我们将这个可执行文件与我们的应用程序捆绑在一起。为这个捆绑的可执行文件设置权利是否有任何变化?
  • 这个博客说明了一切 - furbo.org/2013/10/17/code-signing-and-mavericks 但简而言之,任何子包都必须经过签名/授权才能用于 MAS 部署
  • 我也遇到过同样的问题怎么解决?你能分享一下你是怎么提交的吗?
  • 不,我还没有解决这个问题。我转移到 packagemaker 以将我的应用程序和第三方可执行文件打包为单个 .pkg 文件。

标签: macos


【解决方案1】:

转到您的目标 -> 功能 -> 将 App Sandbox 设为 ON。

【讨论】:

  • 谢谢,这很有用
  • 感谢您的回答。整理出我的申请。
  • 我在命令行工具中遇到了类似的错误,但是,项目中没有这样的功能选项卡。所以我所做的就是在 codesign 命令中传递了权利 plist。不过,我收到了这个错误。
  • @Khushneet 我也面临同样的问题你解决了吗?如果是怎么办?
  • 据我所记得,我使用“com.apple.security.app-sandbox”权利和命令行工具使用“com.apple.security.inherit”权利对我的应用程序包进行了代码签名. developer.apple.com/library/archive/documentation/Miscellaneous/… 请让我知道您现在面临的确切问题,因为我忘记了。
【解决方案2】:

如果您使用 Xamarin,请检查“权利”文件中的“启用应用沙盒”选项

然后在“Mac 签名”选项上:

  • 选择自定义权利文件
  • 启用“签署安装程序打包程序”选项

在归档文件以供发布之前

【讨论】:

  • Xamarin/Microsoft 请更新您的文档!我花了很长时间才找到
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 2013-05-12
  • 2020-01-30
  • 1970-01-01
  • 2011-02-14
  • 2016-02-05
相关资源
最近更新 更多