Cctools 65 Full ✔
An old 32-bit application refuses to run on a new macOS version due to missing libraries. Use install_name_tool:
install_name_tool -change /usr/lib/old.dylib /usr/lib/compat.dylib legacyapp
Then use lipo to thin the binary to a single architecture if needed. cctools 65 full
Even with a full release, users encounter problems. Here are solutions to frequent errors: An old 32-bit application refuses to run on
To maximize productivity, integrate cctools into scripts and pipelines. Here is a Bash snippet that recursively scans all binaries in a directory and reports those linked against deprecated libraries: Then use lipo to thin the binary to
#!/bin/bash
find /Applications -name "*.app" -type d | while read app; do
binary=$(find "$app/Contents/MacOS" -type f -perm +111 | head -1)
if [ -n "$binary" ]; then
otool -L "$binary" | grep -q "/System/Library/Frameworks/Deprecated.framework" && echo "$binary uses deprecated frameworks"
fi
done
With cctools 65 full, this script runs faster and more accurately than with stock macOS tools.