我为Wikitude SDK框架创建的monotouch绑定在运行时不起作用。我按照以下说明创建了绑定:https://stackoverflow.com/a/13070064/42826

当我尝试在运行时实例化包装类时,出现以下异常:

包装类型“Wikitude.WTArchitectView”缺少其本机
ObjectiveC类'WTArchitectView'。

看起来本机类 WTArchitectView 在运行时未由绑定程序集加载。本地库 WikitudeSDK.a 实际上通过 ObjcBindingNativeLibrary 构建动作位于绑定程序集中。

这是我的 LinkWith 声明(请注意,由Wikitude本机库将required称为Objective Sharpie -ObjC ):

[assembly: LinkWith ("WikitudeSDK.a", LinkTarget.ArmV7 | LinkTarget.Simulator, Frameworks = "CoreVideo Security SystemConfiguration CoreMedia AVFoundation CFNetwork CoreLocation CoreMotion MediaPlayer OpenGLES QuartzCore CoreGraphics", ForceLoad = true, LinkerFlags = "-ObjC", IsCxx = true)]

我的大多数 ApiDefinition.cs 都是使用 http://pastebin.com/HKBED11u 创建的。
注意:我只剩下一个函数用于测试目的。
namespace Wikitude
{
    [BaseType (typeof (UIView))]
    interface WTArchitectView {

        [Export ("initializeWithKey:motionManager:")]
        void InitializeWithKey (string key, NSObject motionManager);
    }
}

这是 Wikitude SDK头文件:ojit_a

我的项目具有 ARMv7 + ARMv7s 支持的体系结构。

我是否必须以某种方式强制加载本机库,还是只是简单地错过了明显的东西才能使包装器正常工作?

最佳答案

LinkWith属性仅提及ArmV7Simulator作为LinkTarget。如果您的设备是Armv7s,则可以解释为什么它不起作用。

关于ios - 无法加载wikitude单点触控绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16493149/

10-10 20:31