Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Draeconis

macrumors 6502a
Original poster
May 6, 2008
986
280
Hey all,

Recently started investigating why this didn’t work, after resurrecting my trusty MacBookPro8,2. More as a project rather than something I desperately need working.

The OS prompts you to get a new version, which looks to me like a simple check of version or supported OS version in the app.

Poking around in /Applications/Logic Pro.app/Contents/Info.plist, there are values for the app version, bundle version, and two minimum OS values. I changed the first two to be something higher, and the min OS fields to 10.13.6.

After a logout/login, Logic Pro launches, but we have a crash. This is because High Sierra lacks /System/Library/PrivateFrameworks/ProKit.framework.

I tested installing all ProKit.frameworks from Lion up to Sierra one after the other; they all launch Logic, but there’s a black screen with an error.

The error seems to be a version check on ProKit.framework; when checked on the ProKit from Sierra, this said it required v5, we had v0.

ProKit5 is bundled in the mpkg installer for Logic Studio 3, so I tried to use this. This works, but Logic then crashes due to a dependency error in AppKit.framework, which is native to High Sierra.

I’m reluctant to try replace an existing framework, especially one so old, so looks like I might be stuck. Anyone have any ideas?
 

Draeconis

macrumors 6502a
Original poster
May 6, 2008
986
280
So, minor update, I can get the UI to render the error page visibly now lol

If you copy (or symlink) /../ProKit.framework/Versions/A/Resources/ProThemeBits.car to /../ProKit.framework/, then the UI renders correctly.. but Logic Pro 9 is still confused about 'ProKit 0'.

More work required!
 

Draeconis

macrumors 6502a
Original poster
May 6, 2008
986
280
After looking at some of the other frameworks, I noticed that there are a collection of symlinks that were missing from my imported ProKit.framework. I removed the above, and replicated this as best I could.

However all frameworks in High Sierra appear to have an extra *.tbd file alongside the main binary in each framework. This isn’t present in Sierra or below, and given it appears to be fairly unique, I’m not sure how I’d replicate this.

After this change, Logic Pro no longer complains about ProKit 0, and instead goes back to complaining that there’s a missing symbol from /System/Library/Frameworks/AppKit.framework.

Sierra and High Sierra both have v6.9 of this framework, but a checksum shows they aren’t exactly the same. I think I’ll set up a VM, and test swapping over to the Sierra AppKit binary; not willing to do it on a real machine
 

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,606
1,981
I"m very late and you probably don't care anymore, but you can use install_name_tool to change what path the app looks for. E.g.:

Code:
install_name_tool -change /System/Library/PrivateFrameworks/ProKit.framework/Versions/A/ProKit @executable_path/../Frameworks/ProKit.framework/Versions/A/ProKit /Path/To/Logic.app/Contents/MacOS/Logic

The above assumes you're placing your ProKit.framework in the app bundle's resources folder.
 

Draeconis

macrumors 6502a
Original poster
May 6, 2008
986
280
thanks for the reply :)

sadly since High Sierra is no longer supported, I moved my old MacBook Pro to Fedora, but interesting to know nonetheless.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.