1????首先將導(dǎo)出包運行看是否報錯。可以跑起來再做如下操作。
????將Classes、Data、Libraries三個文件夾和MapFileParser.sh文件復(fù)制到自己的iOS工程中。自己的iOS項目目錄:

2????將文件添加到項目中
????2.1????將Data文件夾以以下方式添加

2.2????將Classes、Libraries文件夾按如下方式添加

2.3????如果Classes->Native目錄下有.h文件,需要全部刪除引用
????再刪除Libraries->libil2cpp文件夾的引用,操作同上
3????iOS工程的環(huán)境配置,以Unity的項目為參考
????3.1? ? 添加應(yīng)用庫? ? ?

????3.2? ? 添加頭文件和庫的搜索路徑? ??

????3.3 ? ?其他的一些配置
????????Other C Flag、Other Linker Flags


如果自己iOS項目中有pch文件,則將Prefix.pch里面的文件拷貝到自己的pch文件中,并在合后的pch文件中添加#import "UnityAppController.h"
????3.4 ? ?添加用戶自定義的設(shè)置


4????修改main.m文件
把Classes/文件夾里面的main.mm里面的代碼,拷貝到Supporting
Files/下的main.m文件中,并把后綴改成.mm,修改如下圖

然后刪除Classe目錄下單main.mm文件。注意:一樣是刪除引用。
5? ? ?修改AppDelegate文件
????5.1?????.h文件增加unityController屬性
????????@property (strong, nonatomic) UnityAppController * unityController;
????5.2 ????.m文件做如下修改

6????修改UnityAppController.h文件

并增加兩個方法restartUnity、hideUnityWindow
在UnityAppController.mm實現(xiàn)

7????新建Unity的顯示控制器
在新的Unity界面顯示時調(diào)用啟動startUnity的方法,如有需要可以再調(diào)用切換場景的方法;
第二次啟動直接調(diào)用restartUnity的方法
8????iOS和Unity的調(diào)用方法
8.1? ? ? iOS調(diào)用Unity的方法:
三個參數(shù)分別是:物體名、方法名、參數(shù)
UnitySendMessage("Global", "UpdateUnityInfo", [@"show23" UTF8String]) ;
8.2? ? ?Unity調(diào)用iOS原生的方法
在Libraries文件下新建UnityToIOS文件夾,在此新建兩個文件如下:

9????常見問題
9.1? ? ? Control may reach end of non-void function:
解決辦法:方法末尾添加return NULL;
9.2? ? ? 編譯時遇到Permission denied:
解決辦法:Chmod +x?? / Users/…../MapFileParser.sh
9.3? ? ? ]Undefined symbols for architecture arm6: "_GetAppController",referenced from:
解決辦法:修改文件后綴為.mm