Unity 通过 C 与 iOS 进行交互。这种方式其实也是iOS的代码作为Plugins in 的形式加入到Unity中去。
Unity 不能直接调用 C++ 的原因是 C++ 编译会有 Name mangling 问题。
Objective-C 可以与 C/C++ 进行混编。使用 C 代码封装对应的 Objective-C 代码,提供给 Unity 使用。
注意:建议 C 函数名加有特定意义的前缀,避免函数名冲突。
Unity 调用 iOS
示例代码展示了通过 Objective-C 进行加法计算的程序。
iOS 部分
MyPluginBridge.h
MyPluginBridge.m
iOS自身方法中建议使用通知的方式,以及NSUserDefaults等的方式传值
Unity 部分
iOS 向 Unity 发送通知
/**
调用Unity方法,退出Unity
@param 参数一为unity脚本挂载的gameobject
@param 参数二为unity脚本中要调用的方法名
@param 参数三为传递的数据,注意:传递的数据只能是char *类型
*/