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 ){
//根据参数进行处理
}