首先感謝以下博主給的幫助
http://www.reibang.com/p/8d01bb1a3c14
http://www.reibang.com/p/3ec42d546982
此篇只為記錄自己合并的歷程粱锐。
1 確定Unity導出工程支持版本以及正確運行。
2 導入文件尊搬。
2.1 將Unity導出的工程文件復制到iOS工程根目錄
2.2 導入文件到工程里。classes Libraries虛擬文件夾,Data真實文件夾
3 工程配置
3.1 Bitcode 可選配置迹卢。目前我Unity導出的工程是支持Bitcode的拗小,所以我還是YES
3.2 Framework Search Paths / Header Search Paths / Library Search Paths配置方式參考Unity導出的工程
3.3 將Classes文件夾下的Prefix.pch配置到工程的PrefixHeader 下扬虚。
4 引入Frameworks,參考Unity導出的iOS工程里存在的framework
5 添加Run Scrip, "$PROJECT_DIR/MapFileParser.sh" MapFileParser.sh文件要有可運行權(quán)限,如果不是努隙,命令行執(zhí)行 chmod "a+x" MapFileParser.sh即可。
6 代碼層面的修改
6.1 將iOS原工程的main.m徹底刪除孔轴,修改Classes下的main.mm文件剃法,將AppControllerClassName改成原iOS工程AppDelegate
6.2 AppDelegate類修改如下
6.2 UnityAppController.h類 GetAppController()方法修改如下
7 測試碎捺,真機運行路鹰,隨便點擊下屏幕即可跳轉(zhuǎn)到Unity程序界面,隱藏調(diào)用 AppDelegate類的 hideUnityWindow方法收厨。
8 iOS與Unity數(shù)據(jù)通信
8.1 iOS調(diào)用Unity方法
iOS調(diào)用此函數(shù) UnitySendMessage(<#const char *obj#>, <#const char *method#>, <#const char *msg#>)
第一個參數(shù):C#對象名
第二個參數(shù):需要調(diào)用的方法名
第三個參數(shù):方法傳的參數(shù)
實例: UnitySendMessage("GM", "MoveControllerInIos", jsonString.UTF8String);
8.2 Unity調(diào)用iOS方法
在某個類里實現(xiàn)如下方法晋柱。此類.m必須改成.mm
extern "C" {
// u3d退出
void _UnityQuit() {
}
}