Я создал dll, который включает Xamarin.iOS от Visual Studio 2017.
using JavaScriptCore;
using Foundation;
namespace JSCore
{
public static class MyClass
{
public static int Test()
{
JSContext jsContext = new JSContext();
jsContext[new NSString("arg1")] = JSValue.From(2, jsContext);
jsContext[new NSString("arg2")] = JSValue.From(2, jsContext);
var jsResult = jsContext.EvaluateScript("arg1 + arg2;");
return jsResult.ToInt32();
}
}
}
Я хочу использовать эту библиотеку в Unity.
Я помещаю эту dll в папку плагинов Unity и пишу скрипт (вызов MyClass.Test()
).
В редакторе нет ошибок. Но при сборке проекта появилась какая-то ошибка.
IL2CPP error for method 'System.Void ObjCRuntime.Runtime::set_UseAutoreleasePoolInThreadPool(System.Boolean)' in assembly '/Users/[MyName]/Documents/JavaScriptRuntimeTest/Temp/StagingArea/Data/Managed/Xamarin.iOS.dll'
Additional information: Build a development build for more information. Object reference not set to an instance of an object.
Я прочитал предложение об ошибке. Я думаю, что это ошибка версии о System.dll
.
Xamarin.iOS ссылка System.dll 2.0.5.0
.
Уровень совместимости API Unity .NET Standard 2.0
.
Как избежать этой ошибки?