As I have just noticed, the latest version of Xcode (16.2) on macOS 15 Sequoia now only allows to build for macOS 11 or later. This is quite a bit of a shame, as we could support 10.13 and newer just a few months ago - and 10.9 and newer for many many years before that. So I am trying to understand what would be the best way to build for macOS versions 10.13+ at least… do I simply install, say, macOS 12/13/14 on an external SSD and do all builds from there? Is there another solution? I did try going back to Xcode 16.0/16.1 but for some reason I still only see macOS 11 as the minimum deployment target.
Okay so I decided to try and build a JUCE 7 project with Xcode 16.2 and manually set the deployment target to 10.13 everywhere. It worked - the plugin validates fine and works perfectly in Logic 10 on macOS 10.14 on a 2015 MacBook Air. Not sure about macOS 10.13 though, I guess we need to ask a few volunteers to beta test that one!
Still… the question remains. If we want 10.9+ or 10.11+ then we 100% need to build on an older macOS with the newest available Xcode that supports that target? Thanks in advance.
It should be possible to edit Xcode’s “deployment target” field manually and enter an older deployment target. This way, it should be possible to build for older targets, even using the newest version of Xcode and macOS. There’s a deployment target field in the Projucer that will let you set this option easily; in CMake, set the CMAKE_OSX_DEPLOYMENT_TARGET cache variable. JUCE 8 officially supports deployment targets as old as 10.11.
Thanks very much for your reply! As I mentioned, I did exactly that and the plugin built with Xcode 16.2 works on an old MacBook Air with macOS 10.14. I am installing 10.13 on another MacBook Air now to test as well. But I will try replacing that string with 10.11 actually - and will try to find someone to try on 10.11 or 10.12. Will report back!
Also, just to make sure, since JUCE 7 supports 10.9 and later - I should be able to manually specify 10.9 in Xcode 16.2 and it should work on such systems? I am guessing yes - since “forcing” the 10.13 setting worked.
According to Apple, Xcode 16.2 supports macOS 11 and later. However, we were able to manually specify 10.13 as the deployment target and the plugin worked fine on an old MBA with macOS 10.13. So maybe this restriction is not that… strict We will see if the same trick will work for 10.9, have to ask some of our customers to test. Will report back on that!