Как использовать библиотеку, включающую Xamarin.iOS в Unity? - PullRequest
0 голосов
/ 21 января 2019

Я создал 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.

Как избежать этой ошибки?

1 Ответ

0 голосов
/ 21 января 2019

Среда выполнения Unity Mono не совместима с Xamarin, поэтому единственная возможность использовать вашу библиотеку - удалить часть IOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...