Amidst the denial that Apple would ever release an OS update with a double digit secondary number, it turns out there is actually a problem with doing so. In order to prevent software from running on platforms that lack the proper APIs, OS version checks are performed. However, one method of checking, the “MAC_OS_X_VERSION_ACTUAL” string, only has space for four digits. That results in getting back that the OS version is 10.4.1.
While there isn’t a lot of software that requires a specific version of Tiger, there are a few products, like UNO. Rosyna, of Unsanity, points out though that using that string is the wrong way to check the OS version.
There’s no problem with the 10.4.10 string aside from developers that try to parse it as a string intentionally. This is wrong.
The correct way for a developer to get the version number of the Mac OS is to use Gestalt(), it always has been. If you use gestaltSystemVersion on 10.4.10, you’ll get back 0x1049, which is no big deal (and is likely what ARD is doing). The correct way to get system versions over 10.4.9 and all system versions before 10.4.10 is to use gestaltSystemVersionMajor, gestaltSystemVersionBugFixMinor, and gestaltSystemVersionBugFix together.
So, we can expect apps using this other method to get updated to use a better means. That is as long as they’re being developed.
MacUser is your source for news, info, and opinion about Apple, the Mac, and the iPod. Our dedicated team of bloggers covers everything that is relevant to Mac users — and, okay, some stuff that’s not quite relevant, but is still a lot of fun.
Leave a comment