2018 Platform State of the Union
2018 Platform State of the Union

During the Platform State of the Union at WWDC 2018 Apple confirmed that macOS Mojave (10.14.x) will be the last version of macOS to run 32-bit code.

system_profiler

This one-liner is courtesy of @MacLemon.

system_profiler SPApplicationsDataType \
    | grep -E '^    .*:$|64-Bit \(Intel\):|Location' \
    | grep -A1 ': No' \
    | grep 'Location' \
    | sed -e 's/.*Location: //' 

On my system this command finds:

/System/Library/Input Methods/InkServer.app
/System/Library/Frameworks/QuickLook.framework/Versions/A/Resources/quicklookd32.app

Spotlight (mdfind)

Rich Trouton recommends using Spotlight.

mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'"

This finds significantly more 32-bit code:

/System/Library/Input Methods/InkServer.app
/System/Library/Frameworks/QuickLook.framework/Versions/A/Resources/quicklookd32.app
...
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/libmdworker.dylib
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
...
/System/Library/PrivateFrameworks/CoreMediaIOServicesPrivate.framework/Versions/A/CoreMediaIOServicesPrivate
/System/Library/Printers/Libraries/libConverter.dylib

Spotlight doesn’t work well for checking frameworks and plugins.

Check out Howard Oakley’s “How to find all your 32-bit apps” for more robust solutions.

Dachshund photo by Carissa Weiser on Unsplash
Photo by Carissa Weiser on Unsplash