Last Week on My Mac: Struggling with macOS 10.15 already

macOS 10.15 hasn’t even been announced yet, and won’t be for a couple of months, but I’m already struggling with it because of quantum computing.

That’s not to suggest for a moment that Apple is going to launch a quantum computer, even in its long-awaited new Mac Pro, although that might account for the nearly six years it has taken in development. It was actually a book on quantum computing that caused this struggle with macOS 10.15.

I saw the book on the shelf of my local bookseller, bought it, and needed a copy of Mathematica to study its examples. When I came to use that newly-purchased app, Mojave immediately complained that it “is not optimised for your Mac and needs to be updated.” I was stunned to discover that the current version of this high-end and expensive mathematical environment still runs in 32-bit mode. It seems that a new version is on its way to address the problem.

That drew my attention to the one thing we do know about macOS 10.15, that it won’t run anything 32-bit. Apart from that alert and the Legacy Software item in System Information, there still isn’t any quick way of telling that my copy of Mathematica would cease running once I installed the first developer beta of 10.15 in two months time.

There are, of course, two ways of checking all my apps to see which are 64-bit: the Applications listing in System Information, and my own app 32-bitCheck. But what I wanted was a tool onto which I could just drop an app or other item and be informed whether it has a problem.

The simple answer might have been for High Sierra to have added this to the Finder’s Get Info dialog, to inform the user of which architecture an app is compatible with. Perhaps Apple has reserved that for information about ARM-supporting fat binaries, and sees this 64-bit transition as too ephemeral.

System Information can help, but it’s not good for this. Select the Applications item and after a long pause you can see every app that it can find, and whether it’s 32- or 64-bit. But that list is rebuilt every time, and there’s no straightforward way to save it as a text file. Its verdict on whether an app is 64-bit is also too simplistic: it doesn’t look inside app bundles, so they can contain 32-bit dependencies which it won’t spot, making it too superficial to be trusted.

I wrote my free app 32-bitCheck in response to this. It’s a thorough tool to scan a selected folder like /Applications and list all the apps and other items which are still 32-bit. It lets you choose whether to check every last bit of executable code, so can be used to look at command tools, QuickLook generators, frameworks and whatever you wish. But it wasn’t designed to check individual apps and other items.

The other tool which Apple provides in Mojave is the Legacy Software listing in System Information, an excellent example of an under-designed and over-engineered solution. Each time that you launch an app, macOS checks that app with SystemPolicy. If that app is 32-bit, SPLegacySoftwareReporter displays the warning alert, and that item is added to the Legacy Software database. I have described this here, thanks to the details disccovered by Scott Knight.

Unlike the Applications listing, Legacy Software is really thorough – but only for apps which you’ve opened. So you could discover whether an individual app is 32-bit, and test its dependencies, by the slightly tedious process of launching it then checking the listing in Legacy Software. Except that only applies to apps which you can run, and the components which they in turn use, and only those which trigger the 32-bit alert.

The end result is that Legacy Software is detailed, patchy, and far from complete. At this rate, I might know whether my apps and some of the tools and components they use are 32- or 64-bit by the end of next year. And the information provided can confuse too: listed currently are 64-bit apps which have temporary 32-bit dependencies, such as Compressor and Final Cut Pro. If you don’t know the purpose and future of a dependency, you could easily assume that that app isn’t 64-bit when it is. Neither does the Legacy Software list seem to update reliably, when you do upgrade an app to a 64-bit version.

The answer to this commonplace need is my new tool, ArchiChect, now completing its beta-testing here, and like 32-bitCheck available from Downloads above. Neither has the sophistication of Apple’s elaborate SystemPolicy and SPLegacySoftwareReporter, but they’re coded simply to do a simple job for ordinary users. I can’t think how Apple didn’t recognise the need for them.