Frozen while converting managed assemblies to C++ (iOS)

I’m trying to use the Firebase Analytics SDK. I followed the instructions exactly, and did nothing out of the ordinary. Now, when I try to build for iOS/IL2CPP, it stops at “converting managed assemblies to C++”. I had the exact same problem a while ago when I tried to use Google’s AdMob SDK, and eventually just couldn’t use it because no matter what I did, it wouldn’t build.

Has anybody else encountered this problem?

There seems to be multiple DLLs with the same filename (several pairs actually).
Could Unity be getting confused by this?

2017.1.2f1 seems to have resolved this.

Same problem here with Unity 2019!

1 Like

To anyone having the same problem, we’ll report here what we did to work around this. Our project was also getting stuck on “Converting managed assemblies to C++” forever. After some study, as it turns out, it was potentially a problem with CocoaPods trying to resolve the GoogleMobileAds integration.

Our Solution:

  1. Disable all CocoaPods integration on Unity, under Assets > PlayServicesResolver > iOSResolver > Settings (CocoaPods might begin warning you about the disabled integration, but we just “silenced” the notification)

  2. Download files from SDK dos anúncios para dispositivos móveis do Google  |  Mobile Ads SDK for iOS  |  Google for Developers

  3. Copy/Paste the following framework files under the Plugins/iOS folder on your Unity Project (so they’ll be added on the XCode project)

  • GoogleAppMeasurement.framework
  • GoogleMobileAds.framework
  • GoogleUtilities.framework
  • nanopb.framework

After that, the project started building again, both on Unity and XCode (and the Android version continued to work without issues!)

But, if there’s any problem with that, an alternative solution is to remove the .framework files from the Plugins/iOS folder and add them directly into the XCode project. So, ater building it on Unity, just do this:

  1. Drag the 4 .framework libraries into the /Framework folder in XCode navigator;
  2. On the popup that appears, select “Copy items if needed” and “Create Groups”
  3. Clean the project / build folder
  4. Build

Hope this help!

2 Likes

Thanks for pointing me in the right direction. In my case I solved it by manually uninstalling all cocoapods gems from the command line, then reinstalling again using the play services resolver.

gem list
gem uninstall [anything that starts with cocoapod that was listed by the prev command]
Then in Unity go to Assets->Play Services Resolver->iOS Resolver->Install Cocoapods

I don’t even know what Cocoapods is! Don’t you just love dependencies of dependencies!

4 Likes

@abar you are a life saver!!! Thx a lot

@aiyra your solution works too.

Just careful that this process does take some time to complete. So after making the changes, do allow some time (mine took well over 15mins) to complete.

ROFL. They’re the best

It looks like Unity is not able to finishing linking all the dependencies.

I solved it by simply opening in Xcode the folder where I specified the build (after aborting it). Once Xcode finished linking everything I was able to go to Unity and Build and Run from there

I have the same issue on Mac with Unity 2020.2.2f1. Did what suggested on post #6 and #9.
It didn’t help.


I had the same issue on Mac mini M1 2020
unity version 2021.3.0f1
I solved it by deleting AdMob plugin and reimport it again

1 Like

Similar issue after a manual (homebrew; ruby via homebrew; cocoa pods via ruby gem) install on Ventura (cause Unity stalled at that, not for style).

Then, a trivial variant of suggested fixes solved it:

  • Locate Google.IOSResolver
  • Check iOS under “platforms for plugin”
  • Ignore the many empty checkboxes which have now appeared.
  • Towards the bottom press apply (or click outside the inspector).

Some processing (< 2 minutes) in editor, then iOS checkbox unchecks itself (good!?) and the next build was a smoothie.

3 Likes

Amazing this worked for me!