Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' on Windows #412

Open
DominatorDuck opened this issue Nov 9, 2020 · 41 comments · May be fixed by #714
Open

[BUG] Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' on Windows #412

DominatorDuck opened this issue Nov 9, 2020 · 41 comments · May be fixed by #714

Comments

@DominatorDuck
Copy link

DominatorDuck commented Nov 9, 2020

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2020.1.11f1
  • External Dependency Manager version: 1.2.161
  • Source you installed EDM4U: .unitypackage
  • Features in External Dependency Manager in use: Android, ResolverVersionHandler
  • Plugins SDK in use: None
  • Platform you are using the Unity editor on: Windows

[REQUIRED] Please describe the issue here:

Given a vanilla 3D project in Unity 2020.1.11f1, upon pressing play I get the following error log:

Assembly 'Packages/com.google.external-dependency-manager/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.161.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

Steps to reproduce:

  • Open a Unity project (in Unity 2020.1.11f1) with the External Dependency Manager package.
  • Press the play button.
  • Notice the error log.

Notes:

  • To create this project I originally made a project for Unity version 2019.4.8f1 and the upgraded it to 2020.1.11f1.
  • The error does no occur with the very same project in Unity 2019.4.8f1.
  • The only non-default package in the project is the External Dependency Manager.
  • The Unity 2020.1.11f1 installation has only Windows (IL2CPP) and Android Build support.
  • External Dependency Manager settings are as they come out of the package installation.
  • Enabling Verbose Logging does not seem to give any more relevant information.
  • Changing Build platform (from Windows to Android) seems to have no effect on the bug.

Please answer the following, if applicable:

What's the issue repro rate? 100%

What happened? How can we make the problem occur?

The Assembly 'Packages/com.google.external-dependency-manager/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.161.dll' fails to load.

You can reproduce the issue by following the repro steps with the proper Unity installation by using this sample project:
https://drive.google.com/file/d/1llavcZxSVk7icuCpLv65QPrnjgV81u93/view?usp=sharing

@DominatorDuck DominatorDuck added the new to be triaged label Nov 9, 2020
@google-oss-bot
Copy link

This issue does not have all the information required by the template. Looks like you forgot to fill out some sections. Please update the issue with more information.

@arcv
Copy link

arcv commented Nov 9, 2020

For quick fix, you can install "iOS Build Support" module from Unity Hub. That fixes the issue.

@cynthiajoan cynthiajoan added needs-info Need information for the developer and removed new to be triaged labels Nov 11, 2020
@google-oss-bot google-oss-bot added the stale Don't have recent activity label Nov 16, 2020
@google-oss-bot
Copy link

Hey @DominatorDuck. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

@DominatorDuck
Copy link
Author

Thanks for the comment, @arcv, that certainly works as a temporary fix.
@cynthiajoan, I noticed you marked the tread as in need of info, can you please let me know what info I can provide to help solve the issue.

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer stale Don't have recent activity labels Nov 16, 2020
@vimanyu
Copy link
Collaborator

vimanyu commented Dec 2, 2020

Hi @DominatorDuck,
Thanks for raising this issue. Newer versions of Unity have stricter checks on inspecting dependent libraries and that is why you are noticing this in Unity 2020. Does this error block the build altogether?

I am flagging this as a bug for us to follow on.

@DominatorDuck
Copy link
Author

Hi @vimanyu.
Thanks for coming back on this.
The error does not block the build, it just appears every time you build or run the game - so it shows up often enough, but it's not of the breaking stuff variety.
Other than the error being logged, nothing else seems to be broken or affected.

@vimanyu
Copy link
Collaborator

vimanyu commented Dec 2, 2020

Good to know that it is not blocking or breaking anything. Yes, we will take a look at ways to avoid this error.

@chkuang-g chkuang-g removed the needs-attention Need Googler's attention label Jan 16, 2021
@chkuang-g chkuang-g changed the title [BUG] Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Unity 2020.1.11f1 [BUG] Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' on Windows Jan 16, 2021
@wimachtendink
Copy link

Hello,

(apologies in advance if this is not helpful)

It seems like this issue is resolved by deselecting all of the "select platform for plugin" options on [maybe some combination of, but I chose] all firebase DLL assets in the ExternalDependencyManager folder and Firebase>Plugins>iOS folder

@PeachieDude
Copy link

PeachieDude commented Feb 23, 2021

Hi, i happened to have the same problem today.. made unity upgrade and after relaunching i got the same error, the only difference is the version of IOSResolver, your one is _v1.2.161.dll and mine is _v1.2.163..
Interesting to point is that i dont use IOS, in fact i didnt even import it.
Im using Android, like ever.
And im like, why the hell im having an IOS resolver problem if i never used, never installed nor activated it..

copied from stackoverflow
"Firebase Messaging work fine on Unity 2020. But just Push Notification doesn't work on Unity 2020. I contacted Firebase team and they answered me Unity 2020 is broken with firebase. ( no receive token for push notification) – Cyrille Mouret Aug 18 '20 at 10:40"

@rameezfayyaz
Copy link

If you are not planning on using IOS platform resolver just change the "Scripting Backend" in "Project Settings -> Player -> Configuration" to "MONO" from "IL2CPP" and the error should go away. This worked for me.

@soundmartell
Copy link

Hello, as @arcv said if you have not "iOS Build Support" installed you will have this error bothering you often enough.
In my case I could not compile the Game, some errors appeared as well.
If I disable the Validate Reference in Google.IOSResolver_v1.2.165 the error doesnt show but still not able to compile.
I did not try MONO as @rameezfayyaz because Google is not supporting 32 bits APP. 64 Bits only support IL2CPP.
THE ONLY SOLUTION FOR NOW: Using the Unity Hub Add modules iOS Build support.

@TrongHieu90
Copy link

@vimanyu Has this been fixed yet ? Im using Unity 2020 LTS version and this issue still happens

@noemis84
Copy link

I'm using 2020.3.19 and Extension 1.27.0 and still get this error:
Assembly 'Packages/com.google.ar.core.arfoundation.extensions/Editor/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.162.dll' will not be loaded due to errors: Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform? Reference validation can be disabled in the Plugin Inspector.

I will install ios modules even if not dev for ios.

@jvrieling
Copy link

I am using Unity 2020.3.16 and was getting this error. I'm not releasing on iOS, but installing the modules seems to have fixed the error. Thanks, @soundmartell !

@fararugames
Copy link

I updated the project from 2019 to 2020, the IOS module was connected for 2019, but not for 2020. After the update, this error appeared.

This advice helped solve the issue. Thanks

For quick fix, you can install "iOS Build Support" module from Unity Hub. That fixes the issue.

@ahmedaniss25
Copy link

problem fixed here: https://youtu.be/z4ERv0oLJXc

@somedeveloper00
Copy link

@ahmedaniss25 this workaround has already been mentioned by @arcv about 2 years ago on this very topic #412 (comment)

@firesightstudios
Copy link

firesightstudios commented Jun 1, 2023

still an issue on 2022.3.0.

I develop on my desktop PC and build android with it, so all I install on this pc is android support.

Then I open my macbook and pull down the project and just install ios support.

@firesightstudios
Copy link

Hi, No need to install iOS Build support, just uncheck the "Validate References" checkbox in the plugin inspector.

The problem with this is when you save in one project and push to source, you have to remember to enable it every time when pulling down on ios.

@CaseyHofland
Copy link

I'm going to uncheck "validate references".

However, for the Google team, this is very easy to fix on your end. All you need is to create a folder (call it IOS) in which you put the IOSResolver, as well as an assembly definition with only IOS checked.

Platforms

This will make sure to only compile the IOSResolver if you are working with IOS.

@nndwn
Copy link

nndwn commented Jan 7, 2024

image
uncheck all general

https://docs.unity3d.com/Manual/PluginInspector.html

@somedeveloper00
Copy link

image uncheck all general

https://docs.unity3d.com/Manual/PluginInspector.html

I wouldn't modify the sdk files directly, because then it'd become a task which you and next developers will have to do for every update. A task like that is easy to miss. Howevrr if installing iOS module is impossible for some machines, then yeah

  • On another note, it's crazy how an issue so simple to fix such as this is still not fixed by the package maintainers...

@Zamaroht
Copy link

Hello!

In case it's useful for anyone browsing and landing in this page, I was having a crash on Android at startup with Firebase and Crashlytics installed. Logcat was telling me that "Crashlytics build ID is missing", and I noticed that the "FirebaseCrashlytics.androidlib" folder that's generated automatically at build time in my desktop machine was not getting generated in CI.

The build log had the following errors:

Assembly 'Packages/com.splabs.base.google-package-manager/ExternalDependencyManager/Editor/1.2.179/Google.IOSResolver.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.
Assembly 'Packages/com.splabs.base.firebase/Firebase/Editor/Firebase.Crashlytics.Editor.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.
Symbol file LoadedFromMemory is not a mono symbol file
Assembly 'Packages/com.splabs.base.firebase/Firebase/Editor/Firebase.Editor.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

Turns out that the Firebase.Editor.dll and Firebase.Crashlytics.Editor.dll files are in charge of auto-generating the FirebaseCrashlytics.androidlib folder at build time.

Also, I'm using the UnityCI docker images, and the android docker images in particular do not have iOS Build Support installed.

As suggested in this issue, unselecting the "Validate References" checkboxes from both Firebase.Editor.dll and Firebase.Crashlytics.Editor.dll files solved the issue in CI for me, now everything is generated correctly.

@TigerHix
Copy link

Still having this issue in 2024. Can't believe such a trivial issue can take more than 4 years to fix. @CaseyHofland has already provided a solution, and the maintainers literally just needed to create an .asmdef file that take maybe 2 minutes.

@PTSY-17031999
Copy link

image uncheck all general

https://docs.unity3d.com/Manual/PluginInspector.html

Thank you, this method works for me but the app cannot run

@chriscode2001
Copy link

Yes, load of rubbish. Install IOS stuff, for NO reason. Fix it!

@chriscode2001
Copy link

I turned off validate, but come on, really

@somedeveloper00
Copy link

how is this issue still not fixed??? it's been 4 years, and all it takes is to wrap the iOS stuff in a #if

@demiursos
Copy link

Since I only build Android, I deleted all iOS-related files and the problem was resolved. It's so easy.

@rico345100
Copy link

Why do I have to install iOS build support even though I'm not gonna build for iOS? This is totally non-sense.

@StephenHodgson
Copy link

One day this bug will be squashed 🙏

@Awais6
Copy link

Awais6 commented Oct 24, 2024

it's been 4 years and it is not resolved yet, are they sleeping 😴😴😴

StephenHodgson added a commit to StephenHodgson/unity-jar-resolver that referenced this issue Oct 25, 2024
…alled

- updated export_unity_package_config.json and split the ExternalDependencyManager/Editor/*/Google.IOSResolver.* into its own definition, adding defineConstraints UNITY_EDITOR and UNITY_IOS
@StephenHodgson
Copy link

Got tired of it, so I fixed it (I think bc project is setup super complicated for what feels like no reason)

Opened #714

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet