Unity 通過 C 與 iOS 進行交互。這種方式其實也是iOS的代碼作為Plugins in 的形式加入到Unity中去。
Unity 不能直接調用 C++ 的原因是 C++ 編譯會有 Name mangling 問題。
Objective-C 可以與 C/C++ 進行混編。使用 C 代碼封裝對應的 Objective-C 代碼,提供給 Unity 使用。
注意:建議 C 函數名加有特定意義的前綴,避免函數名沖突。
Unity 調用 iOS
示例代碼展示了通過 Objective-C 進行加法計算的程序。
iOS 部分
MyPluginBridge.h
MyPluginBridge.m
iOS自身方法中建議使用通知的方式,以及NSUserDefaults等的方式傳值
Unity 部分
iOS 向 Unity 發送通知
/**
調用Unity方法,退出Unity
@param 參數一為unity腳本掛載的gameobject
@param 參數二為unity腳本中要調用的方法名
@param 參數三為傳遞的數據,注意:傳遞的數據只能是char *類型
*/