如何为特定的构建配置启用 App Sandboxing
Posted
技术标签:
【中文标题】如何为特定的构建配置启用 App Sandboxing【英文标题】:How can I enable App Sandboxing for specific build configuration 【发布时间】:2013-12-29 00:37:38 【问题描述】:我正在开发一个 Mac 应用,并准备将其提交到 Mac AppStore。
我也想同时在我的网站上发布它。
由于我使用 Sparkle 框架 来管理 AppStore 外部版本的更新,因此该应用可以不被沙盒化。
我知道我可以使用多个构建目标来完成此操作,但是保持同步的两个目标太重了,因为唯一不同的是沙盒与否。
所以我创建了一个构建配置,我的配置列表如下:
调试:用于开发,已禁用沙盒 发布:用于在 Mac AppStore 之外分发,Sandbox Disabled MacAppStore:用于分发到 Mac AppStore,启用沙盒如何仅为 MacAppStore 配置启用沙盒?
【问题讨论】:
【参考方案1】:为每个构建配置提供自定义授权文件。沙盒只是 AFAIK 的一种能力。
权利文件是一个构建设置,构建设置可能因配置而异
请看截图说明
-
显示管理配置的位置。
显示了我如何清除 Release 的构建设置,但将其留给 Appstore
【讨论】:
您能解释一下如何为构建配置提供自定义授权文件吗?我在 Capabilities 中启用了 App Sandbox,并且 Xcode 在我的项目中添加了一个 .entitlement 文件,我该如何删除此文件以进行发布配置? 所以正常使用功能页面,然后看到 xcode 生成权利并通过构建设置“代码签名权利”设置这些权利 扩展构建设置(设置左侧的三角形)并根据配置进行修改 不要忘记您可能必须清理构建以摆脱旧权利 小菜一碟。绝妙的答案! ;-)以上是关于如何为特定的构建配置启用 App Sandboxing的主要内容,如果未能解决你的问题,请参考以下文章
如何为现有应用启用 Apple 登录? “配置文件不支持使用 Apple 登录功能”
如何为启用 2FA 的 github 帐户配置 Jenkins?