BS version with SystemInformationMBS

Shouldn’t the following code:

dim VersionAsInt as Integer = 10000 * SystemInformationMBS.MacMajorVersion + 100 * SystemInformationMBS.MacMinorVersion

give 110100 and not 101600? MBS from November 2020 and BS 11.1. I know that the MBS plugin has SystemInformationMBS.isBigSur. But I’ve been using the numerical version since forever.

Intel app -> 10.16
ARM app -> 11.0

this is intentional by Apple.

1 Like

This doesn’t make any sense. Okay, then I have to use isBS.

Probably stupid follow up question: in the unlikely event that Apple fixes my Rosetta/AppleScript bug how am I supposed to check the BS version if there is only 101600 for everything?

Intel apps in emulation are going away and probably will forever just get 10.16 as version.

Not exactly. It comes from the SDK that the app is linked to. It’s entirely possible to have an Intel app reporting 11.0 if the SDK were updated to match. Apps linked to older SDKs will return 10.16 just in case they were doing something stupid like only checking the minor version when doing comparisons.

Ah, yes. Xojo Inc. may use macOS 11.0 SDK in future versions for Intel & Apple Silicon.

I’m not sure in which universe reporting 10.16 for all 11.x versions makes sense. But it seems that a TSI is just another word for “black hole” anyways.

Remember, Apple expects you to be using Xcode and for you to decide which SDK to link against. In that case, this behavior is all about backwards compatibility. When you’re ready, you update to the macOS 11 SDK. As Xojo users, we don’t have that option. Xojo makes that decision for us.

1 Like