Solving the Xamarin.Forms iOS 'Could Not Load the Framework IDEDistribution' Issue

How to resolve the IDEDistribution issue when trying to run a Xamarin.iOS project on the latest Xcode version

Xamarin.Forms is deprecated as of May 2024. I get it. But some of us are still trying to maintain legacy Xamarin projects.

Not in the mood for reading? Watch the video instead.

It’s 2025, and I tried to run a Xamarin.Forms iOS project with the latest Xcode version on macOS. It failed with the following error message.

error HE0004: Could not load the framework ‘IDEDistribution’ (path: /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution): dlopen(/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution, 0x0001): Library not loaded: @rpath/AppThinning.framework/Versions/A/AppThinning Referenced from: <6F88EF9E-AE57-3231-9DD6-36E9CC59D914> /Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/IDEDistribution Reason: tried: ‘/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/Frameworks/AppThinning.framework/Versions/A/AppThinning’ (no such file), ‘/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/Frameworks/AppThinning.framework/Versions/A/AppThinning’ (no such file), ‘/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/Frameworks/AppThinning.framework/Versions/A/AppThinning’ (no such file), ‘/Applications/Xcode.app/Contents/SharedFrameworks/IDEDistribution.framework/Versions/A/Frameworks/AppThinning.framework/Versions/A/AppThinning’ (no such file), ‘/Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents/MonoBundle/AppThinning.framework/Versions/A/AppThinning’ (no such file)

The latest Xamarin.iOS version is 16.4.0.23. There are no more updates, and I guess it’s incompatible with Xcode 16.

Luckily, the solution is simple.

First, go to the Xamarin.iOS.framework directory, specifically to the mlaunch.app directory.

cd /Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.23/lib/mlaunch/mlaunch.app/Contents

Create a new directory called Frameworks.

sudo mkdir Frameworks

Then link the AppThinning.framework from Xcode to the newly-created Frameworks directory.

sudo ln -sv \
    /Applications/Xcode.app/Contents/SharedFrameworks/AppThinning.framework \
    ./Frameworks/.

NOTE: My previous solution was to copy the AppThinning.framework. While it works beautifully, there is a disadvantage with this method. If there is a new version of XCode.app, you’ll have to copy it again. That’s why I updated the solution with linking.

If you still prefer the copy method, here’s how:

sudo cp -r \
   /Applications/Xcode.app/Contents/SharedFrameworks/AppThinning.framework \
   ./Frameworks

That’s it! Now you can build and run your Xamarin.iOS app again.

Video

Conclusion

That’s all I can write for today. Thanks for reading and have a good day!

References