Same thing happened to us as well... forced 64bit upgrades!
Has anyone come up with a solution to this?
My treasured 32-bit Sample Manager app and various 32-bit plugins (VST/AU) suddenly refuse to load. The only thing I can think of is that I recently helped a client to upgrade from her iPhone 7 to a 2020 iPhone SE, and since I used iMazing for the process, it needed to get new updates for iTunes for syncing. After that, I've been having this issue.
Having a look around, it appears that a MobileDevice.framework can become corrupted, and a new Xcode install might help it somehow.
For me, my Mojave 10.14.6 computer was running iOS 12.0 Simulator so as a trial run, I've tried to install iOS 13.2 Simulator just to see if that helps. Am running an age old Xcode Version 11.3.1 (11C504)
.. So, further looking around seems to point out that this is related to iTunes Software Update for Syncing with new devices. Makes sense (see above about iMazing + iTunes updates for helping a client) Well, how to solve this?
.. Even further looking. Looks like Apple accidentally pushed a 64-bit MobileDevice.framework which is now playing havoc on all my 32-bit apps, and 32-bit plugins.
And this seems to have appeared during the month of April 2020. There are also mentions of this occurring in 2019, too.
One solution I've come across is simply copying in an older MobileDevice.framework and being happy with that. But I'm not sure how to do that, since I can't simply write to /System/Library/PrivateFrameworks/MobileDevice.framework even with sudo on the terminal.
Confirming what the original poster posted, yep, when going to /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/ and typing file MobileDevice, the result is:
$ file MobileDevice
MobileDevice: Mach-O 64-bit dynamically linked shared library x86_64
So now I definitely need a 32-bit MobileDevice.Framework. How to get it reliably from Apple, though?
P.S. even people running GarageBand are now unable to run the app. That's pretty wack, huh?
So, you apparently can copy an older 32-bit MobileDevice.framework to your device. People have gotten the 32-bit apps to work again after that.
But I wonder how they have copied it. I don't have SIP disabled and I worry about this. I really need a 32-bit MobileDevice.framework and a functional Mojave 10.14.6. I cannot update to Catalina, most of my apps will then promptly stop working.
Okay, here's the solution.
1. Score a MobileDevice.framework - say a 2019 version or maybe a January-March 2020 one. Ask a friend. Check some other computer of yours. Preferably Mojave version.
2. Boot up with CMD-R down
3. Go to Utilities -> Terminal. Type csrutil enable
4. Boot back to macOS.
5. Move MobileDevice.framework from /System/Library/PrivateFrameworks/ to a folder of choice.
6. Place older MobileDevice.framework to /System/Library/PrivateFrameworks/
7. Go to Terminal and to folder /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/
8. Type file MobileDevice
9. Verify that it looks something like the following:
$ file /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice
/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice: Mach-O universal binary with 2 architectures: [i386:Mach-O dynamically linked shared library i386] [x86_64]
/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
10. Make sure your app works. Whichever app it is. For me, I ran Sample Manager and Renoise 3.1.1 32-bit version. Plugins loaded, apps worked.
11. Boot up with CMD-R down
12. Go to Utilities -> Terminal. Type csrutil disable
14. Verify that apps still work.
Beware, from now on, any iTunes Sync updates.
Make yourself a macro that runs file MobileDevice in the /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/ folder. Run it every once in a while.
Retain the 32-bit MobileDevice.framework.
Be prepared to put it back in again.
Update. As of 27th of May 2020, I was able to install the mandatory MobileDeviceFramework update and the result is
$ file MobileDevice MobileDevice: Mach-O universal binary with 2 architectures: [i386:Mach-O dynamically linked shared library i386] [x86_64] MobileDevice (for architecture i386): Mach-O dynamically linked shared library i386 MobileDevice (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
So Apple are now shipping i386 and x86_64 mobiledevices that no longer break 32-bit apps.