首页 > 解决方案 > 获取无法创建“JumioNetverifyBinding.NetverifyConfiguration”类型的本机实例,本机类尚未加载异常

问题描述

我正在尝试通过创建 Objective c 库项目在 Xamarin iOS 项目中绑定 Jumio Natverify 库。

我使用 Sharpie 工具创建了 ApiDefination.cs 和 Struct.cs 文件数据。但是当我尝试运行它时,我得到了无法创建类型为“JumioNetverifyBinding.NetverifyConfiguration”的本机实例:尚未加载本机类。例外。

ApiDefinition 类 - ApiDefinition.cs

结构类 - Struct.cs

从 iOS Binding 项目调用 NetverifyViewController:

using Foundation;
using JumioNetverifyBinding;
using System;
using UIKit;

namespace JumioNetverifyDemo
{
    public partial class ViewController : UIViewController
    {
        NetverifyViewController netverifyViewController;

        public ViewController(IntPtr handle) : base(handle) { }

        public override void ViewDidLoad()
        {
            StartNetverifyButton.TouchUpInside += startNetverify;
        }

        public void CreateNetverifyController()
        {
            NetverifyConfiguration config = new NetverifyConfiguration();
            config.ApiToken = "My_token_key";
            config.ApiSecret = "Secrate_key";
            config.DataCenter = JumioDataCenter.Eu;
            
            config.Delegate = new NetverifyViewControllerDelegateHandler(this);
            this.netverifyViewController = new NetverifyViewController(config);
        }

        public void startNetverify(object sender, EventArgs e)
        {
            this.CreateNetverifyController();
            if (this.netverifyViewController != null)
            {
                this.PresentViewController(netverifyViewController, true, null);
            }
            else
            {
                Console.WriteLine("Netverify Mobile SDK : NetverifyViewController is null");
            }
        }

        public void DisplayAlertAsync(string title = "Alert", string message = "")
        {
            var okAlertController = UIAlertController.Create(title, message, UIAlertControllerStyle.Alert);
            okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
            PresentViewController(okAlertController, true, null);
        }

        public class NetverifyViewControllerDelegateHandler : NetverifyViewControllerDelegate
        {
            private ViewController _viewController;

            public NetverifyViewControllerDelegateHandler(ViewController viewController)
            {
                _viewController = viewController;
            }

            public override void DidCancelWithError(NetverifyViewController netverifyViewController, NetverifyError error, string scanReference, string accountId)
            {
                Console.WriteLine("NetverifyViewController did finish initializing, error:" + error.Message);
                _viewController.DisplayAlertAsync("Error : " + error.Message);
            }

            public override void DidFinishWithDocumentData(NetverifyViewController netverifyViewController, NetverifyDocumentData documentData, string scanReference, string accountId, bool authenticationResult)
            {
                _viewController.DisplayAlertAsync("Scan Reference : " + scanReference);
            }
        }
    }
}

我无论如何都在寻找处理这个异常并使这个库工作,如果有人对此有想法吗?任何帮助,将不胜感激。

标签: objective-cxamarinbindingxamarin.ios

解决方案


推荐阅读