I’ve recently upgraded from juce 6.0.4 → 6.1.2, and I’m now receiving an error “Unable to find macos sdk 10.12”. I’ve had this setting forever for compatibility reasons, and my macOS deployment target is 10.11
Is this going to cause issues if I deploy my standalone application for anyone with older os? It should be OK as long as the deployment target is 10.11, right?
I’m really not an expert in this so if someone has any advice, I’m all ears…
The project should load on any target from the deployment target onwards, as long as the SDK is also more recent than the deployment target. I’d recommend using the newest SDK available unless you have a good reason to use an older SDK.
I’m not sure why updating JUCE would affect which SDKs can be found. Did you update your Xcode version at the same time?
I’m assuming your 6.0.4 project had the “macOS Base SDK Version” field set to “10.12 SDK” for each of the configurations of the Xcode exporter.
I tried saving a project using the 6.0.4 Projucer with the base SDK set as above, and then resaving it with the 6.1.2 Projucer. I was then able to open the project in Xcode and build it without problems. (I did have to manually install the 10.12 SDK first, though). I’m using Xcode 12.4 on macOS 10.15.7. It doesn’t seem like anything has changed in JUCE that would introduce the error you’re seeing - however, without knowing all of your project settings it’s hard to say for certain.
Disclaimer: I don’t recommend doing the following! Using the newest SDK is almost always the best approach.
To build against an old SDK (e.g. 10.12) in a recent Xcode, you need to add that SDK to Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs. You also need to update one of the plists in the Xcode bundle to set the minimum SDK version: