使用MonoTouch的OpenFeint

时间:2012-03-26 09:29:30

标签: xamarin.ios openfeint

我想在MonoTouch项目中使用OpenFeint。我没有创建正确的绑定以使用Mono的第三方Objective-C库的经验。阅读Xamarin网站上的this文章对我没有任何帮助。有没有人创建了将OpenFeint与MonoTouch一起使用所必需的绑定,或者是否有人有创建我需要的绑定的经验?

2 个答案:

答案 0 :(得分:3)

这很容易。

文件 - >新项目 - > MonoTouch-> MonoTouch绑定项目

首先添加Objective-C库(* .a文件),它的Build选项应自动说Native Library

使用None的构建选项添加它们提供的所有头文件(这仅供参考,以帮助您编写绑定)。

读取头文件并开始在ApiDefinitions.cs文件中编写绑定:

  • 使用[BaseType(typeof(NSObject))],除非他们的类继承其他内容
  • 在方法上使用[Export("yourMethod:")]
  • 注意方法上的+和 - 符号,+表示静态方法,使用[Static]表示
  • 如果您遇到一个委托类(您需要继承一个),请添加[Model],否则它将作为密封类出现
  • 如果需要链接其他库进行编译,请修改显示在* .a库下面的designer.cs文件中的[LinkWith]属性
  • 枚举进入其他* .cs文件(我忘了名字)
  • #define MyConstant 1 - 这些常量应该放在他们所在的头文件的类中。定义一个新的* .cs文件,该类为partial。如果您愿意,也可以在课程上添加额外的C#代码
  • 将NSType映射到适当的C#类型:NSString - >字符串等
  • 随意重命名Obj-C类型,使它们不那么愚蠢。我在每个方法,成员等上都遇到了随机前缀 - 删除那样的东西。
  • 阅读您在问题中提供的链接
  • 完成所有操作后,只需引用新库(不要在项目设置中使用任何额外的构建选项,您不必再使用它)

一般来说,最好自己动手,这样你就可以轻松地像老板那样绑定Obj-C库。这就是我要告诉我部门的新员工。

答案 1 :(得分:1)

除了@Jonathan优秀的答案......

github上有几个可用的绑定项目,例如:来自Xamarin,如果你不确定如何将一些Objective-C构造转换为C#,那么可以给你提示。真正的例子在理论上通常非常有用。

如果您在特定地点被封锁,请随时在此处或mailing-list上提出特定的问题。