androidfirebaseunity-game-enginefirebase-cloud-messagingfacebook-unity-sdk

Getting these strange xcode/iOS errors when building for android unity


Things in use :

  1. Unity editor version: 2019.3.0f3
  2. Firebase Unity SDK version: 6.8.1
  3. Firebase plugins in use (Auth, Database, etc.): Analytics and Messaging
  4. Additional SDKs you are using (Facebook, AdMob, etc.): Facebook
  5. Platform you are using the Unity editor on (Mac, Windows, or Linux): Windows
  6. Platform you are targeting (iOS, Android, and/or desktop): Android
  7. Scripting Runtime (Mono, and/or IL2CPP): IL2CPP.

First of all my project is completely unaware of iOS, I did not download iOS module either but still I'm getting these errors which seems to be related to iOS. And I already followed Known Issues and deleted .NET 3.x two DLLs and now my parse folder looks like this -

See this image

After this I also did that Assets > Play Services Resolver > Version Handler > Update thing But no luck, so here are the logs I'm gettin,

First Log :

BadImageFormatException: Could not resolve field token 0x040000dc, due to: Could not load type of field 'Firebase.Editor.XcodeProjectModifier:projectInfoDoc' (2) due to: Could not load file or assembly 'UnityEditor.iOS.Extensions.Xcode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEditor.iOS.Extensions.Xcode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none> assembly:F:\Unity Projects\Space Invaders\Assets\Firebase\Editor\Firebase.Editor.dll type:XcodeProjectModifier member:(null) signature:<none>
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.Build.BuildPipelineInterfaces+AttributeCallbackWrapper.OnPostprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at <83a73882c51c4602b3d34743827d03e7>:0)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass17_0.<OnBuildPostProcess>b__1 (UnityEditor.Build.IPostprocessBuildWithReport bpp) (at <83a73882c51c4602b3d34743827d03e7>:0)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at <83a73882c51c4602b3d34743827d03e7>:0)
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()

Second Log :

Error building Player: BadImageFormatException: Could not resolve field token 0x040000dc, due to: Could not load type of field 'Firebase.Editor.XcodeProjectModifier:projectInfoDoc' (2) due to: Could not load file or assembly 'UnityEditor.iOS.Extensions.Xcode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:UnityEditor.iOS.Extensions.Xcode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null type:<unknown type> member:(null) signature:<none> assembly:F:\Unity Projects\Space Invaders\Assets\Firebase\Editor\Firebase.Editor.dll type:XcodeProjectModifier member:(null) signature:<none>

I'm stuck at this point and I couldn't think more, I searched everywhere but couldn't find anything, Hoping for the best ;)


Solution

  • Okay, I solved it by adding this iOS Build Support Module to Unity.