【发布时间】:2012-03-26 09:29:30
【问题描述】:
我想在 MonoTouch 项目中使用 OpenFeint。我没有创建正确绑定以将第三方 Objective-C 库与 Mono 结合使用的经验。阅读 Xamarin 网站上的 this 文章并没有进一步帮助我。是否有人创建了将 OpenFeint 与 MonoTouch 一起使用所需的绑定,或者有任何人创建我需要的绑定的经验?
【问题讨论】:
标签: xamarin.ios openfeint
我想在 MonoTouch 项目中使用 OpenFeint。我没有创建正确绑定以将第三方 Objective-C 库与 Mono 结合使用的经验。阅读 Xamarin 网站上的 this 文章并没有进一步帮助我。是否有人创建了将 OpenFeint 与 MonoTouch 一起使用所需的绑定,或者有任何人创建我需要的绑定的经验?
【问题讨论】:
标签: xamarin.ios openfeint
真的很简单。
文件->新建项目->MonoTouch->MonoTouch绑定项目
首先添加 Objective-C 库(*.a 文件),它的 Build 选项应该自动显示Native Library。
添加他们提供的所有头文件,并使用None 的构建选项(这只是为了帮助您编写绑定的参考)。
通读头文件并开始在 ApiDefinitions.cs 文件中写入绑定:
[BaseType(typeof(NSObject))],除非他们的类继承自其他东西[Export("yourMethod:")]
[Static] 表示[Model],否则会作为密封类出来#define MyConstant 1 - 像这样的常量应该放在他们所在的头文件的类中。定义一个新的 *.cs 文件,并将类作为部分。如果您愿意,还可以在类中添加额外的 C# 代码一般来说,自己动手是个好主意,这样您就可以像老板一样轻松绑定 Obj-C 库了。这就是我会告诉我部门的新员工的话。
【讨论】:
BuildUniversalBinary.sh 文件。你能运行它,看看它做了什么吗?我现在在 Windows 上,我不能。
.\BuildUniversalBinary.sh,你可能需要先运行chmod 755 BuildUniversalBinary.sh。
除了@Jonathan 出色的答案...
在 github 上有几个可用的绑定项目,例如来自Xamarin,如果您不确定如何将一些 Objective-C 构造转换为 C#,它可以为您提供提示。真实的例子通常对理论很有帮助。
如果您在某个特定地方被阻止,请随时在此处或mailing-list 上提出具体问题。
【讨论】: