0
public class StaticDataContainer<T> 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:http://answers.unity3d.com/questions/250803/executionengineexception-attempting-to-jit-compile.html

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?

Tomas Kubes
  • 23,880
  • 18
  • 111
  • 148
敬錞 潘
  • 852
  • 1
  • 14
  • 29

1 Answers1

0

Here's how I do it. I create a file with name AOTDummy.cs in a project with following structure (adapted for your problem):

public static class AOTDummy
{
    public static void Dummy()
    {
        System.Collections.Generic.Dictionary<int, AD> dummy01;
    }
}
Sergey Krusch
  • 1,928
  • 16
  • 17