Skip to content

[Known Issue] iOSResolver.dll failed to load with Unity 2021.1.11+ on Mac #441

Closed
@chkuang-g

Description

@chkuang-g

[REQUIRED] Please fill in the following fields:

  • Unity editor version: Issue occurred with 2021.1.11, 2021.1.12 (Works with 2021.1.10 and 2021.2.0)
  • External Dependency Manager version: Tried 1.2.160 and 1.2.165. But version is probably irrelevant here.
  • Source you installed EDM4U: .unitypackage
  • Features in External Dependency Manager in use: iOS Resolver
  • Plugins SDK in use: None
  • Platform you are using the Unity editor on: Mac

[REQUIRED] Please describe the issue here:

(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)

Please answer the following, if applicable:

What's the issue repro rate? 100%, even with empty project.

Issue Statement

iOS Resolver library cannot be loaded in Unity 2021.1.11 and 2021.1.12. (Did not test 2021.2.0 beta yet). It can be loaded properly with Unity 2021.1.10.

After importing EDM4U, Unity logs an error like:

Assembly 'Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll' will not be loaded due to errors:
Assembly name 'Google.IOSResolver' does not match file name 'Google.IOSResolver_v1.2.165'

And iOS Resolver is not loaded, verified through the absence of Assets > External Dependency Manager > iOS Resolver menu item. The odd thing is that all the other libraries, ex. Android Resolver, Version Handler, are loaded with no issue.

The same issue has been reported on Unity forum here

This seems to be a regression introduced in Unity 2021.1.11 as documented in the release note.

  • Scripting: Editor logs an Error whenever the filename of an assembly does not match its name. (1109539)

Workaround

Since the issue is the mismatched library name, a simple workaround is to rename the dll file.

For instance,

  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.meta to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.meta
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.mdb to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.mdb
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.mdb.meta to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.mdb.meta

After the renaming, Unity should be able to load iOS Resolver library properly.

However, there is a caveat: After renaming, Version Handler will no longer able to manage those files. That is, when a newer version of EDM4U is installed, Version Handler will not be able to automatically remove the older version of iOS Resolver.

The workaround is to remove the entire folder of Assets/ExternalDependencyManager/ folder before upgrading.

Activity

chkuang-g

chkuang-g commented on Jun 22, 2021

@chkuang-g
CollaboratorAuthor

Since this is a Unity issue, the only possible workaround we can provide is to export iOS Resolver library as Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll. However, as mentioned in the original posts, Version Handler will not be able to remove obsolete libraries automatically. However, this will work if EDM4U is installed through .tgz format.

May need to explore other potential workaround.

changed the title [-][Bug] iOSResolver.dll failed to load with Unity 2021.1.11+ on Mac[/-] [+][Known Issue] iOSResolver.dll failed to load with Unity 2021.1.11+ on Mac[/+] on Jun 22, 2021
chkuang-g

chkuang-g commented on Jun 22, 2021

@chkuang-g
CollaboratorAuthor

Update: The issue does NOT occur with Unity 2021.2.0b1

patm1987

patm1987 commented on Jun 23, 2021

@patm1987
Collaborator

I am seeing this on Windows with 2021.2.0b1 (installed via Unity Hub) with EDM4U (v1.2.162 installed via the play games plugin).

The suggested workaround does work for me.

I am using Windows 10 (21H1) and my project is on an exFAT file system rather than NTFS.

Goncharuk-Nikita

Goncharuk-Nikita commented on Jun 24, 2021

@Goncharuk-Nikita

+1 also has this issue.
but 2021.2.0b1 does not work for me with Firebase and Facebook SDK.
I downgrade to 2021.1.10.

Barokoli

Barokoli commented on Jun 30, 2021

@Barokoli

+1 also had this issue on 2021.2.0b1
Mac Book M1
Workaround fixed it

joaquingrech

joaquingrech commented on Jun 30, 2021

@joaquingrech

I´ve just downloaded 166 hoping this was fixed... still same issue
Assembly 'Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.166.dll' will not be loaded due to errors:
Assembly name 'Google.IOSResolver' does not match file name 'Google.IOSResolver_v1.2.166'

gamefish

gamefish commented on Jul 2, 2021

@gamefish

+1 also has this issue.
waiting for the fix.
do not want to try workaround yet because we are develop under android, will be a few month later to release on iOS

itsarjunsinh

itsarjunsinh commented on Jul 20, 2021

@itsarjunsinh

@chkuang-g Could adding a version code variable inside the dll be a solution? It's a shot in the dark, but I suppose you can then adhere to new naming conventions and still allow the version handler to manage files.
A fix for this would be great. Renaming files is particularly tedious for me since I use tarballs for dependencies. I've added a duplicate EDM via Unity package for now.

LaCreArthur

LaCreArthur commented on Jul 26, 2021

@LaCreArthur

Renaming the file manually did the trick, thanks, but it should not be that way

Thaina

Thaina commented on Sep 7, 2021

@Thaina

Are there any progress on this? What is the actual solution that will came out in future release? Is it the problem of unity itself or this google repo?

It seem this problem would affect firebase and facebook (and any other library depend on EDM4U) as well. And so we can't update to 2021.2b

31 remaining items

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @Volcore@gamefish@Thaina@patm1987@joaquingrech

        Issue actions

          [Known Issue] iOSResolver.dll failed to load with Unity 2021.1.11+ on Mac · Issue #441 · googlesamples/unity-jar-resolver