【发布时间】:2013-05-11 02:24:48
【问题描述】:
我为Wikitude SDK 框架创建的单点触控绑定在运行时不起作用。我按照以下说明创建了绑定:https://stackoverflow.com/a/13070064/42826。
当我尝试在运行时实例化我的包装类时,我得到以下异常:
包装器类型“Wikitude.WTArchitectView”缺少其本机 ObjectiveC 类 'WTArchitectView'。
看起来原生类 WTArchitectView 在运行时没有被绑定程序集加载。原生库 WikitudeSDK.a 确实位于具有 ObjcBindingNativeLibrary 构建操作的绑定程序集中。
这是我的 LinkWith 声明(请注意 Wikitude 原生库的 -ObjC 是 required):
[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);
}
}
这里是 Wikitude SDK 头文件:http://pastebin.com/HKBED11u
我的项目有 ARMv7 + ARMv7s 支持的架构。
我是否必须以某种方式强制加载本机库,还是我只是错过了一些明显的东西才能让包装器工作?
【问题讨论】:
标签: ios binding xamarin.ios