MacOS 26

curious what xojo will return which major version macOS26 is. :thinking:
16 or 26?

Could break stuff when you depend on this (like in one of my apps).

why should it break stuff?

Probably we will report what macOS itself reports… :slight_smile:

Don’t forget that Xojo did something special for macOS 11. In the first versions, Intel machines returned 10.16 while ARM returned 11.0.

Yes, and the result was not fun.

I don’t think that Xojo has done something special - this has been by design (from Apple) :wink:

Applications linked against “pre macOS 11” SDK’s have reported 10.16. Once linked against a macOS 11+ SDK it would report 11.

If we wanted to blame Xojo, then for not using the same SDK version for both
Intel and ARM in the first Xojo Version where they’ve introduced macOS ARM support. :wink:

We’ll find out soon (assuming they really deliver a macOS with a jump to version 26)…
It wouldn’t surprise me if they (Apple) would do the same again - report 16.x for existing/old applications (linked against “now-current” SDK’s, which don’t now about this version-jump), while returning 26 for apps linked against the upcoming SDK.

Could, but shouldn’t :wink:
In most cases this has been some bad habit to hardcode some version checks which one could call a mistake by the developer. But you’re right - certainly something to watch out for.

If you’re testing against a minimum version in the way I would imagine would most commonly be done:

if System.Version.MajorVersion < 13 then 
MessageBox "MacOS Ventura or newer is required"
Quit
end if

Either 16 or 26 will satisfy your test.

Alternatively if you have a switch block and are testing known OS versions one by one then you’re already used to updating every time there’s a new OS release.

For one of my B2B apps I use a license scheme that is linked to macOS versions (don’t ask why - it has a very specific reason). So it could break things.