一、Unity调用iOS:
1.1、在Unity C#中:
[ DllImport( "__Internal" )]
private static extern int _showSelectTitleDialog ( string title, string msg);
1.2、在Xcode Objective-C中:
extern "C" {
int _showSelectTitleDialog(const char *title, const char *msg) {
/**这里写实现**/
}
}
二在iOS中调用Unity:
2.1、在Xcode Objective-C中:
UnitySendMessage("DialogManager", "OnCancel", tag.UTF8String);
参数1:场景中的模型名称,DialogManager就是我们定义的一个箱子。
参数2:脚本方法名称OnCancel就是上面脚本中的方法,
参数3:向Unity中传递数据。
2.2、在Unity C#中:
public void OnCancel ( string idStr)
{
int id = int.Parse (idStr);
if (_delegates.ContainsKey (id)) {
_delegates [id] (-1);
_delegates.Remove (id);
Debug.LogWarning ( "===OnCancel idStr1:" + idStr);
} else {
Debug.LogWarning ( "===OnCancel idStr2:" + idStr);
}
}