unity-jar-resolver icon indicating copy to clipboard operation
unity-jar-resolver copied to clipboard

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

Open DominatorDuck opened this issue 4 years ago • 39 comments

[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 avatar Nov 09 '20 13:11 DominatorDuck

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.

google-oss-bot avatar Nov 09 '20 13:11 google-oss-bot

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

arcv avatar Nov 09 '20 19:11 arcv

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!

google-oss-bot avatar Nov 16 '20 02:11 google-oss-bot

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.

DominatorDuck avatar Nov 16 '20 11:11 DominatorDuck

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.

vimanyu avatar Dec 02 '20 18:12 vimanyu

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.

DominatorDuck avatar Dec 02 '20 18:12 DominatorDuck

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

vimanyu avatar Dec 02 '20 18:12 vimanyu

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

wimachtendink avatar Feb 10 '21 21:02 wimachtendink

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"

PeachieDude avatar Feb 23 '21 19:02 PeachieDude

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.

rameezfayyaz avatar Jun 25 '21 14:06 rameezfayyaz

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.

soundmartell avatar Jul 19 '21 00:07 soundmartell

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

TrongHieu90 avatar Aug 31 '21 12:08 TrongHieu90

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.

noemis84 avatar Oct 13 '21 14:10 noemis84

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 !

jvrieling avatar Jan 08 '22 17:01 jvrieling

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.

fararugames avatar Jan 09 '22 15:01 fararugames

Still have the same bug. It's quite sad that i have to use my low space on ssd for this sh#t.

astyd256 avatar Feb 25 '22 13:02 astyd256

Still happening, fix is to install iOS Build Support

Zarkend avatar Mar 09 '22 23:03 Zarkend

Why can't you just fix this bug?

genin43 avatar May 12 '22 18:05 genin43

It still happens in new unity versions!

NotBugGreg avatar May 23 '22 19:05 NotBugGreg

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

binouze avatar May 24 '22 05:05 binouze

2021.3.4f1 also have the issue. I found it today.

sjnilan avatar Jun 08 '22 18:06 sjnilan

Happens in 2021.3.3f1. We have a lot of non programmers on our project who use Unity frequently. Having to get them to install Android -and- iOS support which they will never need, just to avoid this error, is really annoying.

Installing modules we do not need is not a solution, especially considering we're not running the dependency manager outside of builds.

BenjaminSimsMK avatar Sep 27 '22 01:09 BenjaminSimsMK

Installing modules we do not need is not a solution, especially considering we're not running the dependency manager outside of builds.

I want to second this. I just installed the GameAnalytics SDK for a WebGL build. No intention of deploying on iOS or Android for this particular project, so this "fix" is just not good enough.

PatrionDigital avatar Oct 19 '22 08:10 PatrionDigital

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

ahmedaniss25 avatar Apr 09 '23 05:04 ahmedaniss25

@ahmedaniss25 this workaround has already been mentioned by @arcv about 2 years ago on this very topic https://github.com/googlesamples/unity-jar-resolver/issues/412#issuecomment-724243829

somedeveloper00 avatar Apr 15 '23 14:04 somedeveloper00

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 avatar Jun 01 '23 17:06 firesightstudios

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.

firesightstudios avatar Jun 01 '23 17:06 firesightstudios

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.

CaseyHofland avatar Sep 11 '23 13:09 CaseyHofland

image uncheck all general

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

nndwn avatar Jan 07 '24 04:01 nndwn

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...

somedeveloper00 avatar Jan 07 '24 21:01 somedeveloper00