[Crash at runtime] IL2CPP and UnityEngine.Experimental.Networking

Hi,
In order to be able to submit again to the app store (for a published game) we had to make things work for IPv6. So we updated Unity to the version 5.3.5p2 (latest patched version available)

We went through reworking all our networking interfaces (we used to use classic http requests for backend server com and socket connections for asset download) we swapped everything with UnityWebRequest, DownloadHandler and UploadHandler from UnityEngine.Experimental.Networking

Everything works fine on Editor and android but for iOS it just … crashes.

We are using : Unity 5.3.5p2
xCode 7.2
and iPad2 with iOS 9.3.2
Build settings :

  • IL2CPP
  • Universal Architecture (min iOS 7.1)
  • API Level .Net 2.0
  • Strip Engine code set to OFF
  • AOT-Compile options set to : mint-trampoline 512 (we were using this for mono scripting backend)

On Xcode :

  • Bitcode is disabled
  • optimisation level set to (for release and debug) : None[-O0]

Here is the error we get on console when the game runs :

Unable to find method GetProgress in [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler
.
.
Unable to find method ReceiveContentLength in [UnityEngine.dll]UnityEngine.Experimental.Networking.DownloadHandler
.
.
[project name] was compiled with optimization - stepping may behave oddly; variables may not be available.

(we very simply implemented the DownloadHandlerScript with a managed static buffer)

When we build with mono as scripting backend things work fine. But IL2CPP is mandatory for us.
Thank you for your help.

I’ve replied to this question on the other thread here: Unity iOS and IPv6 support - Unity Engine - Unity Discussions