ExecutionEngineException: Attempting to JIT compile method

public class StaticDataContainer where T : IStaticData {
protected static Dictionary<int, T> data;

public static void init(string jsonString){
    //It work fine in Unity,But in Xcode iOS,it will show an error below:
    //ExecutionEngineException: Attempting to JIT compile method
    //'System.Collections.Generic.Dictionary`2<int, AD>:.ctor ()' 
    //while running with --aot-only.
    data = new Dictionary<int, T> ();

I refer to:"ExecutionEngineException: Attempting to JIT compile method" when Marshal.PtrToStructure function operating on iphone - Unity Answers

Your application makes use of some generic type that was missed during AOT compile. And solution is:The problem can usually be fixed by including a “dummy” class that references the missing types.

But I dont’ know what dummy class is. How can I solve it?

According to this answer Why did my BinarySerialzer stop working? - Unity Answers
Just add following code into one of your Awake() function to solve the problem

 if (Application.platform == RuntimePlatform.IPhonePlayer)
         {
             System.Environment.SetEnvironmentVariable("MONO_REFLECTION_SERIALIZER", "yes");
         }