Unity 通過 C 與 iOS 進行交互。這種方式其實也是iOS的代碼作為Plugins in 的形式加入到Unity中去。
Unity 不能直接調(diào)用 C++ 的原因是 C++ 編譯會有 Name mangling 問題。
Objective-C 可以與 C/C++ 進行混編。使用 C 代碼封裝對應(yīng)的 Objective-C 代碼,提供給 Unity 使用。
注意:建議 C 函數(shù)名加有特定意義的前綴,避免函數(shù)名沖突。
Unity 調(diào)用 iOS
示例代碼展示了通過 Objective-C 進行加法計算的程序。
iOS 部分
MyPluginBridge.h

MyPluginBridge.m
iOS自身方法中建議使用通知的方式,以及NSUserDefaults等的方式傳值

Unity 部分

iOS 向 Unity 發(fā)送通知
/**
調(diào)用Unity方法,退出Unity
@param 參數(shù)一為unity腳本掛載的gameobject
@param 參數(shù)二為unity腳本中要調(diào)用的方法名
@param 參數(shù)三為傳遞的數(shù)據(jù),注意:傳遞的數(shù)據(jù)只能是char *類型
*/
