Tuesday, July 21, 2020 [Tweets] [Favorites]

Big Sur Is Both 10.16 and 11.0

Howard Oakley:

For apps built with Xcode, the version returned depends on which version of its SDK they were built with. SDK 10.15 and earlier will consistently respond that Big Sur is major version 10 and minor version 16. This ensures that all existing apps should see Big Sur as simply an incremented minor version, as we had expected before WWDC this year.

Build an app with a new release of Xcode which features the macOS 11 SDK, and the major version will be 11 and the minor version 0.

2 Comments

I just saw “OS Version: Mac OS X 10.16” in a submitted crash report as well - not sure if there will be inconsistency in that field.

What I actually see is quite interesting… If you build a binary with SDK 11.0 (using Xcode 12 or otherwise) and leave the default deployment target (macOS 11.0):

1. If you build an arm64 binary, LC_BUILD_VERSION is reported as:
sdk 11.0
minos 11.0
2. If you build a x86_64 binary, LC_BUILD_VERSION is reported as:
sdk 11.0
minos 10.16
3. If you build a universal binary, LC_BUILD_VERSION is reported as:
sdk 11.0
minos 11.0

If you then thin that universal binary to both arm64 and x86_64 parts, those respective parts will report the same info as separately built ones, minos=11.0 for thinned arm64 binary and minos=10.16 for thinned x86_64 binary.

Thus, the deployment target OS is reported differently for arm64 and x86_64 binaries.

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment