fol*_*lex 10 binding xamarin.ios ios gpuimage
我正在尝试为GPUImage项目创建绑定,但没有一个绑定类正在工作.例如,GPUImageView:
在ObjC中它被声明为这样(git中的头文件):
@interface GPUImageView : UIView <GPUImageInput>
//then some fields, properties and methods I'm not interested in
Run Code Online (Sandbox Code Playgroud)
所以,我的ApiDefinition.cs看起来像这样:
namespace GPUImage
{
[BaseType (typeof(NSObject))]
[Model]
interface GPUImageInput {
}
[BaseType (typeof(UIView))]
interface GPUImageView : GPUImageInput {
[Export ("initWithFrame:")]
IntPtr Constructor(RectangleF frame);
}
}
Run Code Online (Sandbox Code Playgroud)
LinkWithAttributes:
[assembly: LinkWith ("libGPUImage.a", LinkTarget.Simulator | LinkTarget.ArmV7 | LinkTarget.ArmV7s, ForceLoad = true, Frameworks = "CoreMedia CoreVideo OpenGLES QuartzCore AVFoundation UIKit Foundation")]
Run Code Online (Sandbox Code Playgroud)
它构建好并创建DLL.但是当我尝试在我的项目中使用它时:
var iv = new GPUImageView (new RectangleF (0, 0, 100, 100));
Run Code Online (Sandbox Code Playgroud)
抛出异常:
无法创建"GPUImage.GPUImageView"类型的本机实例:尚未加载本机类.通过将Class.ThrowOnInitFailure设置为false可以忽略此条件.
之后MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure == false iv被创建,但无法使用(如AddSubview(iv)什么都不显示).
我想GPUImage.a文件有问题,但我不知道如何以任何方式测试它.
这里有7z,里面有2个项目:TryingBindings - 绑定本身; TryingGPUImage - 正在使用的绑定;
提前致谢.
| 归档时间: |
|
| 查看次数: |
3018 次 |
| 最近记录: |