unity-jar-resolver
unity-jar-resolver copied to clipboard
[BUG] Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode' on Windows
[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
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.
For quick fix, you can install "iOS Build Support" module from Unity Hub. That fixes the issue.
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!
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.
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.
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.
Good to know that it is not blocking or breaking anything. Yes, we will take a look at ways to avoid this error.
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
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"
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.
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.
@vimanyu Has this been fixed yet ? Im using Unity 2020 LTS version and this issue still happens
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.
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 !
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.
Still have the same bug. It's quite sad that i have to use my low space on ssd for this sh#t.
Still happening, fix is to install iOS Build Support
Why can't you just fix this bug?
It still happens in new unity versions!
Hi, No need to install iOS Build support, just uncheck the "Validate References" checkbox in the plugin inspector.
2021.3.4f1 also have the issue. I found it today.
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.
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.
problem fixed here: https://youtu.be/z4ERv0oLJXc
@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
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.
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.
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.
This will make sure to only compile the IOSResolver if you are working with IOS.
uncheck all general
https://docs.unity3d.com/Manual/PluginInspector.html
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...