Unity3D与iOS通信

unity3d调用iOS函数,实现传参以及得到返回值;
C#:

[ DllImport( "__Internal") ]
private static extern int __methodName( string title, string msg );

在需要调用函数传参的时候调用即可

OC:
建立一个OC的类,在.m文件中添加

extern "C" {
  //参数不能用string类型,OC中需要转成const char *类型
  int __methodName( const char * title, const char * msg ) {
  //函数实现,根据需要完成,这里只进行打印
  NSLog(@"%@",[NSString stringWithUTF8String:msg);
  //需要一个定义类型的返回值,这里返回值并没有使用,所以随意返回即可
  return 1;
  }
}

这里需要注意的是,需要将文件的.m后缀改成.mm,实现混编

iOS调用unity3d函数:
OC:

UnitySendMessage("Cube","onCancel","params");

第一个参数:调用的Unity函数绑定的模型
第二个参数:调用的Unity函数名称
第三个参数:调用的Unity函数参数

<div style = " color : red "} >
调用的类需要将 .m 更改为 .mm,开启混编
</div>
C#:

public void onCancel ( string params ){
  //根据参数进行处理
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容