如何为特定的构建配置启用应用程序沙箱化

4

我正在开发一个 Mac 应用,并准备将其提交到 Mac AppStore。

同时,我也想在我的网站上分发它。

由于我使用 Sparkle 框架 来管理版本更新以供 AppStore 之外的版本下载,因此该应用程序无法启用沙箱。

我知道可以使用多个构建目标来完成此操作,但是保持两个目标同步太麻烦了,因为它们唯一的区别就是是否启用了沙箱。

因此,我创建了一个构建配置,我的配置列表如下:

  • Debug:针对开发,禁用沙箱
  • Release:用于在 Mac AppStore 之外分发,禁用沙箱
  • MacAppStore:用于在 Mac AppStore 上分发,启用沙箱

如何仅在 MacAppStore 配置中启用沙箱?

1个回答

5
为每个构建配置提供定制的授权文件。据我所知,沙盒仅是一种能力。
授权文件是构建设置,构建设置可以根据配置而变化。
请参见屏幕截图以了解说明:
1. 显示如何管理配置。 2. 显示我如何清除发布版本的构建设置,但保留应用商店的构建设置。 enter image description here enter image description here

你能解释一下如何为构建配置提供自定义的授权文件吗?我在功能选项中启用了应用程序沙盒,并且Xcode向我的项目添加了一个.entitlement文件,那么我该如何在发布配置中删除此文件呢? - naituw
因此,请像平常一样使用功能页面,然后查看Xcode生成的授权,并通过构建设置“代码签名授权”设置它们。 - Daij-Djan
展开构建设置(设置左侧的三角形),并根据配置进行修改。 - Daij-Djan
不要忘记,您可能需要进行清理构建以摆脱旧的权限。 - Daij-Djan
小菜一碟。答案太棒了!;-) - Dr.Kameleon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接