iOS - XML Serialization - JIT exception

Hi,

I’m trying to setup a project using XML serialization. ALl compiles fine but on the device, I get this error :

CallCallback - Message: Attempting to JIT compile method ‘System.Reflection.MonoProperty:GetterAdapterFrame, int>,object)’ while running with --aot-only.
StackTrace: at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object index) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteListContent (System.Object container, System.Xml.Serialization.TypeData listType, System.Xml.Serialization.ListMap map, System.Object ob, System.Text.StringBuilder targetString) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteElementMembers (System.Xml.Serialization.ClassMap map, System.Object ob, Boolean isValueList) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElementElements (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObjectElement (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, System.String element, System.String namesp) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteObject (System.Xml.Serialization.XmlTypeMapping typeMap, System.Object ob, System.String element, System.String namesp, Boolean isNullable, Boolean needType, Boolean writeWrappingElem) [0x00000] in :0
at System.Xml.Serialization.XmlSerializationWriterInterpreter.WriteRoot (System.Object ob) [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.Serialize (System.Object o, System.Xml.Serialization.XmlSerializationWriter writer) [0x00000] in :0
at System.Xml.Serialization.XmlSerializer.Serialize (System.Xml.XmlWriter writer, System.Object o, System.Xml.Serialization.XmlSerializerNamespaces namespaces) [0x00000] in :0
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:LogError(Object)

This error occurs with both il2cpp and Mono scripting backend in latest Unity 5.2.2f1 and XCode 7. I’m using .NET 2.0 Api.

I’ve tried to add a Assets/link.xml file with this content but nothing does :

<assembly fullname="System">
    <namespace fullname="System.Runtime.InteropServices" preserve="all"/>
    
    <namespace fullname="System.Linq;" preserve="all"/>
    <namespace fullname="System.Text.RegularExpressions;" preserve="all"/>
    <namespace fullname="System.IO;" preserve="all"/>
    <namespace fullname="System;" preserve="all"/>

    <!-- XMLSerializer -->
    <type fullname="System.Diagnostics" preserve="all"/>
    <type fullname="System.Diagnostics.DiagnosticsConfigurationHandler" preserve="all"/>
</assembly>

<assembly fullname="mscorlib">
    <namespace fullname="System.Collections;" preserve="all"/>   
    <namespace fullname="System.Collections.Generic;" preserve="all"/>
    <namespace fullname="System.Collections.IEnumerator;" preserve="all"/>
</assembly> 

<!-- XMLSerilizer-->
<assembly fullname="System.Xml">
    <namespace fullname="System.Xml" preserve="all"/>
    <namespace fullname="System.Xml.Serialization" preserve="all"/>
    <namespace fullname="System.Xml.Serialization.XmlSerializer" preserve="all"/>        
</assembly> 

Can anyone help me getting the XML Serialization work on iOS ?

Thank you for the help.
Stephane

It looks like you are using an XML library which doesn’t support AOT compilation. Try searching for a different XML library which works with IL2CPP.