I'm developing a Mac app, and preparing submit it to Mac AppStore.

I want distribute it on my website too, at the same time.

Since I use Sparkle framework to manage updates for the version outside AppStore, the app can NOT be sandboxed.

I know I can done this with multiple build targets, but keey two targets in sync is too heavy, since the only different is sandbox or not.

So I create a build configuration, and my configurations list like this:

  • Debug : for development, Sandbox Disabled
  • Release : for distributing outside Mac AppStore, Sandbox Disabled
  • MacAppStore : for distributing to Mac AppStore, Sandbox Enabled

How can I enable Sandbox only for MacAppStore configuration?

有帮助吗?

解决方案

provide custom entitlement files for each build configuration. sandboxing is just a capability AFAIK.

entitlements file is a build setting and build settings can vary based on configuration

see screenshots for explanation

  1. shows where to manage configs.
  2. shows how I cleared the build setting for Release but left it for Appstore

enter image description here enter image description here

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top