这段时间,由于项目需求,需要实现Unity和iOS之间的代码交互(如,在Unity中使用iOS原生UI,二者之间方法互调等),故做了相关的技术预研及演示Demo。下文简单记录了本次实现,仅供参考。由于本人也是初学Unity,又不足之处望高手指正。
在Unity中使用iOS原生代码,其实唯一的方法就是通过插件的方式,官方文档 Building Plugins for iOS 其实已经对此做了较详细的阐述(当然也有对应的 Building Plugins for Android 和 Building Plugins for Desktop Platforms )。我想实现的需求,能够在Unity导出生成的Xcode项目运行后,屏幕下方使用iOS原生UI--ToolBar,左右各有原生Item进行方法的交互。
Unity中调用Objective-C/C++方法
1、[DllImport("__Internal")] 特性
在Unity新建项目中,Progect --> Create --> C# Script ,然后使用 [DllImport("__Internal")] 特性来标识用Objective-C/C++实现的函数。如下:
[DllImport ("__Internal")]
private static extern void ActivateUI_iOS();
而在脚本中,我选择在void Start