At last year's Worlwide Developer's Conference (WWDC), Apple announced to Mac app developers that macOS High Sierra "will be the last macOS release to support 32-bit apps without compromise." Now, in the macOS High Sierra 10.13.4 beta, Apple is notifying users of the impending change, too.
In the beta release notes, Apple says:
To prepare for a future release of macOS in which 32-bit software will no longer run without compromise, starting in macOS High Sierra 10.13.4, a user is notified on the launch of an app that depends on 32-bit software. The alert appears only once per app.
When users attempt to launch a 32-bit app in 10.13.4, it will still launch, but it will do so with a warning message notifying the user that the app will eventually not be compatible with the operating system unless it is updated. This follows the same approach that Apple took with iOS, which completed its sunset of 32-bit app support with iOS 11 last fall.
Developers and users curious about how this will play out will be able to look at the similar process in iOS for context. On January 1 of this year, Apple stopped accepting 32-bit app submissions in the Mac App Store. This June, the company will also stop accepting updates for existing 32-bit applications. iOS followed a similar progression, with 32-bit app submissions ending in February of 2015 and acceptance of app updates for 32-bit apps ending in June of 2015.
And before you say, "Well, that's just the Mac App Store," note that Apple also said the following this week:
If you distribute your apps outside the Mac App Store, we highly recommend distributing 64-bit binaries to make sure your users can continue to run your apps on future versions of macOS.
Developers have a couple of tools already available to them to help with this transition. First off, there is now a Terminal command which will force an app to run in 64-bit mode, allowing its developer to see if it encounters any issues in what will eventually be a 64-bit-only environment. Apple has also made new diagnostic tools available for testing 64-bit compatibility in the newly released Xcode 9.3 beta.
These are Apple's notes on those Xcode tools:
The last macOS release to support 32-bit apps without compromise is macOS High Sierra. Make sure future releases of your app are 64-bit compatible by using new diagnostic tools in Xcode 9.3 beta and testing on macOS 10.13.4 beta. This version of Xcode also builds 64-bit apps by default.
Xcode 9.3 also includes features to help developers address battery drain caused by their software. You can use the Terminal command to test which apps you currently use still need to be updated. Apple's instructions are as follows:
To enable 64-bit mode:1. Launch Terminal2. Execute the following command: sudo nvram boot-args="-no32exec"3. Restart the machine64-bit test mode prevents 32-bit processes from launching. Launching an app that depends on 32-bit software results in a notification that the application can't be opened. Other types of software may fail silently, such as 32-bit versions of Dashboard and WebKit plugins, preference panes, and background processes.Disable the test mode once the software is updated to work in 64-bit.To disable the test mode:1. Launch Terminal2. Execute the following command: sudo nvram boot-args=“”3. Restart the machine
The next release of macOS after High Sierra will begin to restrict 32-bit apps and will feature "aggressive" warnings about the coming change. Apple has not said at exactly which point support will be phased out completely.