我使用
Xcode 4创建了一个Cocoa Touch静态库,我想在MonoTouch项目中使用它.我该怎么办?
这是我的静态库的内容:
MyClass.h
MyClass.m
在遵循THIS BLOG POST之后,我使用“Build For Archiving”构建,然后我将它生成的libMyLib.a添加到新的MonoTouch Binding项目中.
然后我替换了libMyLib.linkwith.cs的内容,因为THIS BLOG POST这样说.
[assembly: LinkWith ("libMyLib.a", LinkTarget.ArmV6 | LinkTarget.ArmV7 | LinkTarget.Simulator, ForceLoad = true, Frameworks="CoreGraphics QuartzCore UIKit")]
然后我把它添加到ApiDefinition.cs
我把StructsAndEnums.cs留空了.
然后我使用Release构建并从bin文件夹中获取dll并将其添加到MonoTouch iPad项目的根目录,并将其添加到引用中.
然后,按照THIS ARTICLE中的说明操作后,我将mtouch参数设置为this
-gcc_flags "-L${ProjectDir} -lMyLib -force_load -ObjC"
然后我尝试运行该项目,我在Build Output中得到了这个错误
error MT5201: Native linking failed. Please review user flags provided to gcc: “-L/Users/herpderp/Projects/TestProject/TestProject” “-lMyLib” -force_load “/Users/herpderp/Projects/TestProject/TestProject/libMyLib.a” “-L/Users/herpderp/Projects/TestProject/TestProject” “-lMyLib” “-force_load” “-ObjC”
最佳答案 该目录包含一个完整示例,显示了将Objective-C库与MonoTouch集成的各种方法:
https://github.com/xamarin/monotouch-samples/tree/master/BindingSample