一、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);
}
}