PlayEveryWare / eos_plugin_for_unity

Repository for PlayEveryWare's EOS Plugin for Unity, bringing the functionality of Epic Online Services to the Unity Game Engine.
https://eospluginforunity.playeveryware.com
291 stars 54 forks source link

XCode Asset validation failed #288

Closed MenesApps closed 1 year ago

MenesApps commented 1 year ago

Hi, My update is finally ready to be released with the EOS plugin working. It works on Android but I am having issues with iOS. I build it on my Mac and open it in XCode (tried both 14.2 and 14.3). I manage to archive it correctly but when I try to validate and send to the AppStore, I get this error : Asset validation failed. No architectures in the binary. Lipo failed to detect any architecture in the bundle executable. This plugin being the only thing added, I checked the archive and looked around the files for the binary in question. I don't know much about Frameworks but all the other ones have a Unix Executable file, except for the EOSSDK one. See below. eos Did I miss a step somewhere ?

Here is my workflow for building with XCode if that helps :
-Export from Unity. -Delete Pods files. -Reinstall pods. -Open workspace. -Fill / Check the app info, signing info, etc. -Check if Bitcode is off in Unity-iPhone & UnityFramework -Check if Always Embed Swift Standard Libraries is on in Unity-iPhone & off in UnityFramework. -Archive and publish.

I am stuck so all the help will be appreciated.

MenesApps commented 1 year ago

By the way : I am using Unity 2021.3.15f (but I also tried on Unity 2022 with the same result) and using the latest version of the plugin, installed from Git. I have tried to build from my mac and using Unity Cloud Build with the same result.

arthur740212 commented 1 year ago

Hello, here are some possible causes of the issue bases on inspection. The EOSSDK file is smaller than the meta file, which is suspicious. Does the source of EOSSDK also have this size, if so, try downloading the latest version of plugin, preferably through UPM.

Also for better understanding the issue, we'd like to know which version of the plugin you were using, and detailed steps how the plugin was downloaded/installed.

MenesApps commented 1 year ago

Hi, thanks for the answer. If by the source, you mean the one generated by Unity in the build folder, yes the sizes of the file and the meta file are the same as the ones archived by XCode.

For the download, I went into the Package Manager, copied https://github.com/PlayEveryWare/eos_plugin_for_unity_upm.git in the Git importer and imported. After that, I have followed the instructions in the README page. It works okay on Android.

I was using the 2.2.1 and noticed the update 2.3.0 this morning (I did get an error with the new update and had to comment out the related login code in order to build : Library\PackageCache\com.playeveryware.eos@ba6536f2c3\Runtime\Core\EOSManager.cs(1231,97): error CS0246: The type or namespace name 'EOSPlatformSpecificsiOS' could not be found (are you missing a using directive or an assembly reference?). I don't need login from the plugin so it shouldn't matter).

The EOS file is now 12Mb in the Unity build file. I managed to archive and upload. Now, on to testing :) Thanks.

arthur740212 commented 1 year ago

Cool, that's great to hear. If the EOSSDK could be initialized when running from the AppStore, then the build should be intact. Except the error CS0246 which was fix right after the 2.3.0 release, there would at least be a fix in the next release.

MenesApps commented 1 year ago

I have been testing for the past few days, and no problems :) Thanks for the help.