EditorMeasurement to use secure connection.mainTemplate.gradle in Unity 2022.2+ or 2023.1+.ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to YES,
which seems to cause problem for some when submitting apps. See #526 for more
information.Enable Swift Framework Support Workaround setting to
be ON by default since more pods are using Swift Framework now.mainTemplate.gradle.Link Framework Statically setting is now default to true.
That is, use_frameworks! :linkage => static will be added to Podfile by
default instead of use_frameworks!. This can be changed in iOS Resolver
settings. This fixes odd behaviors when pods include static libraries, ex.
Firebase Analytics.Library not loaded: @rpath/libswiftCore.dylib when some pods includes Swift
framework. This is turned OFF by default and can be changed in iOS Resolver
settings.GvhProjectSettings.xml without
Unicode byte order mark (BoM).jcenter()LANG when executing Cocoapods in shell mode on
Mac.System.Diagnostics.Debug.Assert.tgz.dll in EDM4U to a versioned folder and remove their
version postfix in their filename. For instance, IOSResolver.dll will be
placed at ExternalDependencyManager/Editor/1.2.167/Google.IOSResolver.dll.mainTemplate.gradle when duplicated dependencies are presented.GetApplicationIdentifier() Unity API using reflection, due to a new
overloaded method introduced in Unity 2021.2.Dependency.IsGreater() when the
version strings end '+'.HttpUtility.UrlEncode()
which causes NullReferenceException in certain version of Unity.addToAllTargets in Dependencies.xml.bitcodeEnabled attribute in
Dependencies.xml.gradleTemplate.properties not enabled when
mainTemplate.gradle is not enabled at all.>28 is selected in 2019. This is due to
Unity AndroidSdkVersions enum does not contain values above 28.Custom Gradle Properties Template found under
Player Settings > Settings for Android > Publishing Settings.-executeMethod is used in
non-batch mode..unitypackage to Unity Package Manager
packages. This is initially used to migrate the External Dependency Manager
to UPM.-gvh_log_debug command
line flag when starting Unity.play-services-resolver*.unitypackage will now have
to request external-dependency-manager*.unitypackage instead.
We'll still be shipping a play-services-resolver*_manifest.txt file to
handle upgrading from older versions of the plugin.pod install
is executed.VersionHandler.UpdateVersionedAssets().Android Resolver: File paths are now serialized with POSIX directory separators.
Android Resolver: Fixed resolution when the parent directory of a Unity
project contains a Gradle project (i.e settings.gradle file).
All components: Source control integration for project settings.
Android Resolver: Removed AAR cache as it now makes little difference to incremental resolution performance.
Android Resolver: Improved embedded resource management so that embedded resources should upgrade when the plugin is updated without restarting the Unity editor.
Version Handler: Fixed InvokeMethod() and InvokeStaticMethod() when calling methods that have interface typed arguments.
iOS Resolver: Added support for loading *Dependencies.xml files from Unity Package Manager packages.
Android Resolver: Fixed generation of relative repo paths when using mainTemplate.gradle resolver.
Android Resolver: Fixed copy of .srcaar to .aar files in repos embedded in a project when a project path has characters (e.g whitespace) that are escaped during conversion to URIs.
Android Resolver: Fixed auto-resolution always running if the Android SDK is managed by Unity Hub.
Use Jetifier option in the
Assets > Play Services Resolver > Android Resolver > Settings menu.
Caveats:
*Dependencies.xml files so that the Jetifier
can map them to Jetpack (AndroidX) libraries.
For example, remove the file support-v4-27.0.2.jar and replace it with
<androidPackage spec="com.android.support:support-v4:27.0.2"/> in a
*Dependencies.xml file.*Dependencies.xml files so that the Jetifier can
patch them to reference the Jetpack lirbaries.Version Handler: Files can be now targeted to multiple build targets using multiple "gvh_" asset labels.
Android Resolver: "implementation" or "compile" are now added correctly to mainTemplate.gradle in Unity versions prior to 2019.
Assets > Play Services Resolver > Android Resolver > Settings.Android Resolver: Made paths to local maven repositories in mainTemplate.gradle relative to the Unity project when a project is not being exported.
Android Resolver: Fixed builds with mainTemplate.gradle integration in Unity 2019.
Android Resolver: Changed dependency inclusion in mainTemplate.gradle to use "implementation" or "compile" depending upon the version of Gradle included with Unity.
Android Resolver: Gracefully handled exceptions if the console encoding can't be modified.
Android Resolver: Now gracefully fails if the AndroidPlayer directory can't be found.
iOS Resolver: Pod declaration properties can now be set via XML pod references. For example, this can enable pods for a subset of build configurations.
iOS Resolver: Fixed incremental builds after local pods support caused regression in 1.2.96.
*Dependencies.xml files are deleted.Improved reporting of resolution attempts and conflicts found in the Android Resolver.
iOS Resolver now correctly handles sample code in CocoaPods. Previously it would add all sample code to the project when using project level integration.
Android Resolver now correctly handles Gradle conflict resolution when the resolution results in a package that is compatible with all requested dependencies.
PlayerSettings.Android.targetArchitectures was set to
AndroidArchitecture.All.Assets/Plugins/Android
directory is named in a different case e.g Assets/plugins/Android.Improved error reporting when a file can't be moved to trash by the Version Handler.
Fixed Android Resolver throwing NullReferenceException when the Android SDK path isn't set.
Fixed Version Handler renaming files with underscores if the "Rename to Canonical Filenames" setting is enabled.
Android Resolver now validates the configured JDK is new enough to build recently released Android libraries.
Fixed a bug that caused dependencies with the "LATEST" version specification to be ignored when using the Gradle mode of the Android Resolver.
Fixed a race condition when running Android Resolution.
Fixed Android Resolver logging if a PlayServicesSupport instance is created with no logging enabled before the Android Resolver is initialized.
Fixed iOS resolver dialog in Unity 4.
Fixed iOS Cocoapod Xcode project integration in Unity 4.
Android Resolver now supports resolution with Gradle. This enables support for non-local artifacts.
Android Resolver's Gradle Prebuild now uses Android build tools to determine the Android platform tools version rather than relying upon internal Unity APIs.
Android Resolver's Gradle Prebuild now correctly strips binaries that are not required for the target ABI.
Improved logging in the Version Handler.
Fixed an issue in the Version Handler which caused it to not re-enable plugins when re-importing a custom package with disabled version managed files.
Added warning when the Jar Resolver's background resolution is disabled.
Fixed support of AARs with native libraries when using Gradle.
Fixed extra repository paths when resolving dependencies.
Added option to run pod tool via the shell.
Fixed build of some source Cocoapods (e.g Protobuf).
VersionHandler no longer prompts to delete obsolete manifests.
iOS resolver handles Cocoapod installation when using Ruby < 2.2.2.
Added workaround for package version selection when including Google Play Services on Android.
Fixed support for pods that reference static libraries.
Fixed support for resource-only pods.
## Bug Fixes