我为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
属性仅提及ArmV7
和Simulator
作为LinkTarget
。如果您的设备是Armv7s
,则可以解释为什么它不起作用。
关于ios - 无法加载wikitude单点触控绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16493149/