cormiertyshawn895 / Retroactive

Retroactive only receives limited support. Run Aperture, iPhoto, and iTunes on macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina. Xcode 11.7 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.
2.1k stars 114 forks source link

[Aperture] Unspported System Configuration #368

Open gleeman08 opened 1 year ago

gleeman08 commented 1 year ago

it show 'The version of ImageIO installed on your computer is not supported by Aperture' when I start the Aperture,

then I got 'Unsupported Image Format' if I try to view my Pentax RAW file in Aperture

MacOs Ventura 13.3.1

截圖 2023-05-24 下午5 22 42
vasanth-asokan commented 1 year ago

I get the same error and Canon 5D MKIII raw files do not process correctly. Mac Mini M2 Pro w/ Ventura 13.3.1

adachiy commented 11 months ago

I also encountered the same error since the last security update was applied. My mac is MacBook Pro (2020) w/ Big Sur 11.7.7.

adachiy commented 11 months ago

After I updated the OS ofMacBook Pro(2020) to BigSur 11.7.8, the error stopped occurring for some reason.

gleeman08 commented 11 months ago

me too. the error message disappeared after os updated, but the Aperture still can't handle the RAW files after that, Now I believe it is actually due to issues with imageio that RAW files cannot be supported."

BlackRockCity commented 1 month ago

Is there a version of MacOS that works with Aperture and Retroactive? I get the imageIO error message on Sonoma 14.3. I might get an old M1 mac just to run Aperture. It would be great to know which version of MacOS to install. I see the above message that says 11.7.8. Is that the latest version that will work?

BlackRockCity commented 1 month ago

I ran this on Contents/MacOS/Aperture if anyone wants to carry on with the patching.

strings Aperture | grep -i imageio

which returned:

ImageIO version=%@
unsupportedImageIOTitle
unsupportedImageIOMessage
RKImageIOMethodVersion
imageIOMethodVersionForMaster:
updateExtendedFileAttributesWithImageIOMethodVersion:
imageIOAllMethodVersionsForMaster:
initWithPath:cgImageSource:imageIOMethodVersion:includeFileAttributes:includeRaw:sidecarFile:movie:

The output from the strings command that you've shown suggests several key strings in the Aperture binary related to the ImageIO framework. These strings give clues about how Aperture might be checking the ImageIO version and handling compatibility issues. Here's a breakdown of what each string might represent and how you could explore further:

Key Strings and Their Potential Significance

  1. ImageIO version=%@

    • This string format looks like it's used to format a message or log that includes the version of ImageIO. The %@ is a placeholder for an object or string in Objective-C, indicating dynamic data insertion, likely the version number fetched at runtime.
  2. unsupportedImageIOTitle and unsupportedImageIOMessage

    • These strings are likely used in the user interface to display warnings or errors when the ImageIO version is not supported. This indicates there's a specific check for the ImageIO version that, if failed, triggers these messages.
  3. RKImageIOMethodVersion, imageIOMethodVersionForMaster:

    • These suggest that Aperture uses a specific "method version" associated with ImageIO operations, possibly encapsulated in a method or function that determines or checks the ImageIO version used for processing images.
  4. updateExtendedFileAttributesWithImageIOMethodVersion:

    • This function might be used to update metadata or file attributes based on the ImageIO version, which could be part of how Aperture manages compatibility or optimizes performance based on the ImageIO framework capabilities.
  5. imageIOAllMethodVersionsForMaster:

    • This implies that Aperture might maintain a record or array of all ImageIO versions that are compatible with a particular image or set of images, possibly used for handling different image formats or versions.
  6. initWithPath:cgImageSource:imageIOMethodVersion:includeFileAttributes:includeRaw:sidecarFile:movie:

    • This looks like an initialization method that includes a parameter for ImageIO method version, indicating that different parts of the program might initialize image handling differently based on the version of ImageIO available.

Next Steps for Modifying Behavior

Given these findings, here are some approaches you might consider if you're trying to modify how Aperture interacts with ImageIO:

If you're not comfortable with these advanced techniques, using a tool like Retroactive, which is designed to make older versions of applications work on newer macOS versions, could be a safer and easier solution.