Closed rotx closed 3 months ago
You raised a good point.
Unfortunately, there's no good way to override the bundle identifier check without requiring users to disable System Integrity Protection. There are a few options without requiring that, though.
The easiest one is to wrap the entire Aperture app with its original bundle identifier intact under a loader .app bundle. The loader app executable can be a shebang script that launches Aperture's main executable.
In fact, this is what Retroactive does for iTunes right now. The disadvantage is that file association becomes messier, and accessing removable volumes such as SD cards may require users to manually drag /bin/bash into Full Disk Access.
Retroactive has been discontinued, and does not support macOS Sequoia or later. You should transition from Retroactive to a wide range of supported apps, many of which are built into macOS or free to download. Learn how to transition from Retroactive to supported apps.
Reading https://worthdoingbadly.com/appkitcompat/, it looks like Apple has their own backward compatibility system.
Interestingly, the Aperture specific adjustments seem to still be present in Catalina 10.15.2.
By changing the bundle ID, I am wondering what stability issues might be introduced because AppKit/Foundation/CoreFoundation don't adjust for Aperture anymore.
According to the link above, the list as of High Sierra included the methods:
I am wondering whether there is a way to override LaunchServices so the bundle ID can be left alone.