OSX Deployment Target Questions

  1. Can I change the default deployment target in the Projucer? I often miss this setting and have customers complaining that updates have stopped working on early MacOS versions.

  2. Why is 10.11 the default?

  3. What difference does the deployment target actually make?

I’m not very MacOS savvy so I appologise if these are obvious questions!

I’ll answer only what I know :slight_smile:

  1. Yes, it’s the same as I remember at least. under the Exporter->Configuration:

  2. Good question :slight_smile: we still try to target 10.7.

  3. Building has 3 relevant settings:
    btw, there’s an (i) box in Projucer with some description.

Architecture, as of now it’s mostly Intel x86/x86_64 while the x86 (32bit) has been removed from Xcode 10 and require to explicitly set your projects to 64-bit.

Deployment Target this is from Projucer:

The minimum version of OSX that the target binary will be compatible with.

If not set, it would fail to open on any macOS below it.
Keep in mind, that even with that due to objc concepts you can actually call newer APIs that could lead to a crash. usually JUCE code would do its best to validate no modern code is being used on older targets.

OSX Base SDK Version - this is the sdk you link against. it’s pretty much the macOS Framework. Newer framework might remove older APIs or change behavior which might also affect older targets. however, it’s always best to use latest and…
Projucer just sets it for. if you don’t have 10.8 SDK, it won’t work. Apple also makes it hard to use older than your macOS SDKs.