我为Wikitude SDK框架创建的单点触控绑定在运行时不起作用。我按照以下说明创建了绑定:https ://stackoverflow.com/a/13070064/42826 。
当我尝试在运行时实例化我的包装类时,我得到以下异常:
包装器类型“Wikitude.WTArchitectView”缺少其本机 ObjectiveC 类“WTArchitectView”。
看起来本机类WTArchitectView在运行时没有被绑定程序集加载。本机库WikiitudeSDK.a确实位于具有ObjcBindingNativeLibrary构建操作的绑定程序集中。
这是我的LinkWith声明(请注意Wikitude本机库所需的-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都是使用Objective Sharpie创建的。 注意:我只留下一个函数用于测试目的。
namespace Wikitude
{
[BaseType (typeof (UIView))]
interface WTArchitectView {
[Export ("initializeWithKey:motionManager:")]
void InitializeWithKey (string key, NSObject motionManager);
}
}
这是Wikiitude SDK 头文件: http: //pastebin.com/HKBED11u
我的项目具有支持ARMv7 + ARMv7s的架构。
我是否必须以某种方式强制加载本机库,或者我只是错过了一些明显的东西来让包装器工作?