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.