在Unity中创建iOS插件

时间:2012-03-15 01:29:25

标签: c# ios xcode unity3d

我是Unity3d 3.5的新手,我一直在阅读本手册,了解如何在Unity中创建iOS插件(我正在使用专业版): http://unity3d.com/support/documentation/Manual/PluginsForIOS.html

我的印象是,有一个脚本会在Unity的项目文件夹中扫描插件/ iOS,并将其中的所有内容符号链接到Xcode中。手册几乎只是简单地说明了如何做到这一点,对初学者来说并不是很有帮助。我想知道是否只有一个文件浮动可以实现这一点,或者每个应用程序是否有所不同?非常感谢任何帮助,提前感谢!

另外,有没有人知道是否有一种方法可以让Unity包含插件/ iOS文件夹中的.h文件和plist?这听起来更简单。

3 个答案:

答案 0 :(得分:3)

并确保您定义所有C#方法的格式为:

[DllImport ("__Internal")] private static extern float FooPluginFunction ();

你的c函数应该包含在

extern "C" {
  float FooPluginFunction ();
 } 

如果不是,您的应用将会中断

答案 1 :(得分:2)

我刚刚尝试使用Unity 3.5进行快速测试,并且自动包含Assets/Plugins/iOS文件夹中的本机代码的功能似乎有效,尽管它有限。如文档所述,不支持子文件夹。当您使用Unity“Build”命令创建Xcode项目时,此功能无效,无需脚本。

在该页面上链接了一个示例项目,但未正确设置。需要将本机代码从Assets/Code移至Assets/Plugins/iOS

答案 2 :(得分:1)

如果要复制或修改info.plist文件,可以使用新的[PostProcessBuild]属性执行此操作。

http://docs.unity3d.com/Documentation/ScriptReference/PostProcessBuildAttribute.html

您可以使用它将info.plist从已知位置复制到构建目录,覆盖现有目录,或者使用PlistCS之类的内容来修改现有的info.plist。