Unity iOS build fails on UnusedBytecodeStripper2.exe

0 votes

When building in Unity I get a fatal error with UnusedBytecodeStripper2.exe.

 
I'm running the App42 SDK 4.0.1 with Unity 4.6.3f1 and the following settings:
 
Scripting Backend: IL2CPP
Architecture: Universal
API Compatibility Level: .Net 2.0 Subset
Stripping Level: Disabled
 
Prior to including App42 I was successfully building for 64-bit iOS.  Any help is greatly appreciated.
 
Here is the log:
 
Failed running /Applications/Unity/Unity.app/Contents/Frameworks/Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe -out "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed" -l none -c link -x "/Applications/Unity/Unity.app/Contents/Frameworks/Tools/UnusedByteCodeStripper/native_link.xml" -f "/Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/LinkerDescriptors" -x "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/../platform_native_link.xml" -x "/Users/mikew/intrepid/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "/Users/mikew/intrepid/Assets/link.xml" -d "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed" -a  "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" -a  "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" -a  "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/Assembly-UnityScript.dll" -a  "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" -a  "/Users/mikew/intrepid/Temp/StagingArea/Data/Managed/App42-Unity3D-SDK-4.0.1.dll"
 
stdout;
Fatal error in Mono CIL Linker
System.Exception: Error processing method: 'System.Void com.shephertz.app42.paas.sdk.csharp.connection.RESTConnectorWWW::ExecuteMultipart(System.String,System.String,System.Collections.Generic.Dictionary`2<System.String,System.String>,System.Collections.Generic.Dictionary`2<System.String,System.String>,System.Collections.Generic.Dictionary`2<System.String,System.String>,System.Collections.Generic.Dictionary`2<System.String,System.String>,System.String,System.String,com.shephertz.app42.paas.sdk.csharp.App42CallBack)' in assembly: 'App42-Unity3D-SDK-4.0.1.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Collections.Generic.Dictionary`2<System.String,System.String> UnityEngine.WWWForm::get_headers()
  at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.MarkInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.MarkMethodBody (Mono.Cecil.Cil.MethodBody body) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.Process () [0x00000] in <filename unknown>:0 
  at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x00000] in <filename unknown>:0 
  at Mono.Linker.Driver.Run () [0x00000] in <filename unknown>:0 
  at Mono.Linker.Driver.RunDriver (Mono.Linker.Driver driver) [0x00000] in <filename unknown>:0 
stderr:
 
UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String, String, String&, String&, String, String, IEnumerable`1)
UnityEditorInternal.AssemblyStripper:Strip(String, String, String&, String&, String, String, IEnumerable`1)
UnityEditorInternal.AssemblyStripper:Strip(String[], String[], String, String, String&, String&, String, String, IEnumerable`1)
UnityEditorInternal.IL2CPPBuilder:RunAssemblyStripper(IEnumerable, String, String[], String[], String)
UnityEditorInternal.IL2CPPBuilder:StripAssemblies(String[], String)
UnityEditorInternal.IL2CPPBuilder:Run()
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
UnityEditor.HostView:OnGUI()

 

asked Jul 3, 2015 in App42 Cloud API-BaaS by mikew (16 points)

1 Answer

0 votes
Hello Mike,

IL2CPP is supported for Unity 5.0.1 and above. So please upgrade Unity to the latest version and try.

Let us know if you face any problem.

Thanks.
answered Jul 4, 2015 by rajeev.etc (1,660 points)
As an owner of Unity 4 Pro upgrading to Unity 5 is not an option for me, and given that Apple requires 64-bit submissions now, IL2CPP is required.  Therefore App42 is not compatible with Unity 4 iOS.
We have recorded your request in your our pipeline which you can track from here(https://github.com/shephertz/App42-Issue-Tracker/issues/17). Based on the other priority tasks available in the queue, we will update you the release date once it is decided.
Please let us know if you have any other query.
Hi! For me the same problem. Upgrading so late in the process to Unity 5 is not a viable option. I'v upgrade App42 SDK from 3.1.1 to 4.1.1 and in the Unity editor everything still seems to work for what it's worth. When upgrading to Unity 5 I expect at least issues with other plugins we are using for Facebook, Twitter, In App purchases, etc..So please have a look if this is easily fixable!?
Support for Unity 4.6.x with IL2CPP will be available by 15th August, and you can check the issue tracker posted given above. Please let us know if you have further queries.
Download Widgets
Welcome to ShepHertz Product line forum, where you can ask questions and receive answers from the community. You can also reach out to us on support@shephertz.com
...