unity與iOS合并

關(guān)于unity導(dǎo)出工程與已有iOS工程合并網(wǎng)上面已經(jīng)有很多的教程,但是還是要記錄一下自己的經(jīng)歷過程蔽介。從最基本的說明伸头,面對剛接觸unity的小白酪术,力求大家看到過后一次性合并成功阶剑。所用unity版本5.3.5p8(沒什么關(guān)系)吃沪,xcode版本7.3.1


再說一遍新版的 unity 和 xcode 不需要刪除下面說的一些文件引用岂贩。直接引用就好了,而且好像也沒辦法批量刪除部分文件引用。??(unity 2017版的沒試過)


? ? ? ?看到很多人問我怎么配置不成功啊萎津,這里卸伞、那里錯?。我都暈了锉屈,現(xiàn)在說一下啊荤傲,我上面已經(jīng)全說了,再配置不成功的話颈渊,可以參開我的 配置demo遂黍,里面的 unity 文件我已經(jīng)移除,下載過來以后要按照要求將你的 unity 文件移進去俊嗽,并修改少量代碼雾家,就可以了,報錯的話下面有部分解決方案绍豁。(新版最好直接將之前的文件刪除(刪到垃圾推里)芯咧,重新添加文件)


配置下載鏈接這個是我的網(wǎng)盤鏈接鏈接,大家可以下載竹揍,我也傳到cocoachina 上面了敬飒,不過要審核。


1芬位,怎么導(dǎo)出unity的iOS工程

- 1.1首先在unity打開unity工程无拗,然后點擊file->buld setting

準備導(dǎo)出開始


- 1.2 然后在彈框出來,如果當(dāng)前默認不是iOS平臺就切換到iOS平臺昧碉。確認平臺以后就點擊player setting按鈕英染,進入具體的配置界面。

平臺切換

- 1.3 進入具體設(shè)置Other Settings被饿,圖上面畫的就是設(shè)置的東西税迷,il2cpp這個不要忘了設(shè)置,還有運行方式锹漱,最低版本支持箭养。設(shè)置完成直接building導(dǎo)出。

基本配置

- 還有一個問題就是游戲開發(fā)的時候(雖然我不是做游戲開發(fā)的)的可能會碰到關(guān)于AOT的問題哥牍,其實就是在這個位置設(shè)置好就行了毕泌,具體的網(wǎng)上都有,直接搜索AOT引起的crash就找得到嗅辣,雖然沒解決我的問題撼泛。

AOT-crash


2,開始進行導(dǎo)入工程前的準備

打開unity已經(jīng)導(dǎo)出的工程澡谭,看看里面的庫是否是支持目前版本的庫愿题,然后再運行一下,基本是不會出問題的。如果出現(xiàn)錯誤的話應(yīng)該是需要把encode設(shè)置為no潘酗,還有在building setting上設(shè)置新的編譯參數(shù)

添加設(shè)置

如果unity導(dǎo)出的工程可以完整的在模擬器或者真機上運行杆兵,那么這個導(dǎo)出的工程上的配置就是對的,然后可以在需要導(dǎo)到目標工程里面進行copy UNITY里面的設(shè)置仔夺。

3琐脏,開始導(dǎo)入unity工程


選中需要用的資源文件

- 3.1 在unity導(dǎo)出的工程中,選中這些資源文件缸兔,并將其拷貝到目標工程所在目錄

拷貝到目標工程所在目錄

- 3.2然后打開目標工程日裙,開始添加文件引用,添加的方式不一樣惰蜜,Class和Libraries文件夾用Create Groups昂拂,而Data用Create folder.. ,不要選錯

添加后的樣子

這個大家要注意芭撞::::8窈睢!U两帷!


# Classes 的 Native在移到工程中的時候可能會缺少部分文件精算,Classes文件從導(dǎo)出的工程復(fù)制粘貼到自己的項目會少文件瓢宦,這個很坑。

新版的的 unity 好像沒有 MapFileParser 這個文件灰羽,這沒關(guān)系的驮履。



4 添加完成后,開始刪除一部分引用(不是直接刪除啊)廉嚼,后面所有的刪除都是刪除引用玫镐。

###(新版本不刪除引用!5≡搿?炙啤(我后面用的5.5.1f1))

- 4.1先刪除引用libraries里面的libil2cpp文件夾,然后再刪除Classes里面的Native文件夾里面的所有.h文件

.h刪除

?- 4.2然后再將classes里面的main.mm文件內(nèi)容全部拷到自己原有的main.m文件中再刪除引用傍念,并將AppControllerClassName后面修改成AppDelegate矫夷,自己修改 main.m->main.mm。將.pch文件里面的東西放到自己的pch文件中或者就用它的也可以憋槐,并添加#import"UnityAppController.h"双藕,但是pch文件路徑別忘了添加。

pch文件
修改main.mm

- 4.3如果出現(xiàn)一些運行報錯那就把//UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String:AppControllerClassName]);替換掉阳仔。

- 4.4然后就是點擊工程進入設(shè)置界面忧陪,主要設(shè)置的地方有三個,怎么設(shè)置參考導(dǎo)出的unity工程。嘶摊。延蟹。

位置

第一個主要是庫的添加,第二個是一系列的配置更卒,最好要完全copy里面的設(shè)置(看清楚瞪大眼睛等孵,里面的引用資源路徑別寫錯了啊)簡略的寫寫蹂空,照著unity導(dǎo)出的工程配置就可以了俯萌。


資源路徑


這個一定要有的

第三個是一個run


添加run


- 4.5這樣配置完了,command+b編譯時在 UnityAppViewcontroller 里面應(yīng)該會出現(xiàn)不識別UnityViewControllerBase上枕,把它直接改成UIViewController咐熙。

然后在AppDelegate中添加


AppDelegate.h


AppDelegate.m


.m

- 4.6這里寫完后在UnityAppController.h里面修改


修改UnityAppController

5,啟動unity界面了

- 在需要啟動的界面調(diào)用

#進入調(diào)用辨萍。

[(AppDelegate*)[UIApplicationsharedApplication].delegate ?showUnityWindow];//啟動

UnityPause(false);

#退出調(diào)用棋恼。(退出時用 unity 內(nèi)部自己寫的腳本調(diào)用外部自定義的 C 方法,將下面的代碼放進去锈玉。不會的話就去搜Wζ!@场)

[(AppDelegate*)[UIApplicationsharedApplication].delegate ?hideUnityWindow];//隱藏

UnityPause(true);


就可以啟動unity了师崎。

添加一個陀螺儀腳本,使用這個腳本后在unity 里面有很棒的效果椅棺,制作的 GIF 圖看著有點卡犁罩,其實很流暢的哦:

陀螺儀腳本


寫到最后終于寫完了,主項目里面的設(shè)置要參考unity導(dǎo)出的工程設(shè)置两疚。

啟動問題:

因為加載方式的原因床估,導(dǎo)致APP 整體啟動速度較慢,內(nèi)存峰值上升較快诱渤,所以設(shè)置了自己主動觸發(fā) unityController 的啟動丐巫。這次改動是將之前在 didFinishLaunching里面的啟動代碼放到 showUnityWindow里面,其他保持不變勺美。目前 unity 資源占用問題讓 unity 工程師做,加載空的 unity 場景增加內(nèi)存只有15M 左右(已測試鞋吉,退出時切換到空的場景可以大幅減少占用內(nèi)存),另外壓縮圖片大小可以大度降低內(nèi)存占用量励烦。

解決 unity 內(nèi)存占用問題也可以參考:Unity 3D 內(nèi)存太大問題解決方案

代碼如下:


報錯問題:

?1谓着,一些 cpp 文件之類的找不到,應(yīng)該是資源路徑不對坛掠,或者文件丟失赊锚,去 finder 里面看一哈治筒。

2,F(xiàn)unctions that differ only in their return type cannot be overloaded

? ? ? ? 》解決辦法:Enable Strict Checking of objc_msgSend Calls改為NO

3舷蒲,__weak typeof(self)wSelf = self報錯:- A parameter list without types is only allowed in a function definition. A corresponding warning tells me that __weak only applies to Objective-C object or block pointer types;type here is 'int'

? ? ?》解決辦法:Xcode-> Build Settings-> C Language Dialect修改配置耸袜,C99改為GNU99,C99是不包含typeof的

4牲平,cString報錯

報錯詳情

? ? ? 》解決辦法:Setting "Always Search User Paths" to "No" in the project settings fixed the build issues.

5堤框,dyld: Symbol not found: _AbstractEventData_Reset_m15186946類似于這種錯誤

》 1):我是之前融合了簡單的unity導(dǎo)出工程OK的情況下,再次融合新版的導(dǎo)出工程時報的錯誤(我的再次融合方式是纵柿,直接替換之前導(dǎo)入的資源文件)蜈抓,可能是工程里面引用到的某個方法或者文件和之前的不同,所以簡單的替換資源文件導(dǎo)致出現(xiàn)的dyld: Symbol not found錯誤情況昂儒,大家如果出現(xiàn)這種錯誤可以試試沟使,不需要更改之前的配置,只需要刪除之前老的資源文件(在 xcode 里面刪除引用)渊跋,重新引入最新的資源文件腊嗡。

? 》2):可能是一些資源Framework設(shè)置不是optional

后期添加的:只能幫到這了,畢竟我也好久沒在做這方面的了。

- 其他整合交互方案看-》www.reibang.com/p/db88ffd57168

- 如果遇到動畫消失-》www.reibang.com/p/baabd47434ca

- 如果實用 easyAR 遇到黑屏-》www.reibang.com/p/f98bcfe09dc7

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拾酝,一起剝皮案震驚了整個濱河市燕少,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒿囤,老刑警劉巖客们,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蟋软,居然都是意外死亡镶摘,警方通過查閱死者的電腦和手機嗽桩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門岳守,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碌冶,你說我怎么就攤上這事湿痢。” “怎么了扑庞?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵譬重,是天一觀的道長。 經(jīng)常有香客問我罐氨,道長臀规,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任栅隐,我火速辦了婚禮塔嬉,結(jié)果婚禮上玩徊,老公的妹妹穿的比我還像新娘。我一直安慰自己谨究,他們只是感情好恩袱,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胶哲,像睡著了一般畔塔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸯屿,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天澈吨,我揣著相機與錄音,去河邊找鬼碾盟。 笑死棚辽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冰肴。 我是一名探鬼主播屈藐,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼熙尉!你這毒婦竟也來了联逻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤检痰,失蹤者是張志新(化名)和其女友劉穎包归,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铅歼,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡公壤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了椎椰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厦幅。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖慨飘,靈堂內(nèi)的尸體忽然破棺而出确憨,到底是詐尸還是另有隱情,我是刑警寧澤瓤的,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布休弃,位于F島的核電站,受9級特大地震影響圈膏,放射性物質(zhì)發(fā)生泄漏塔猾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一稽坤、第九天 我趴在偏房一處隱蔽的房頂上張望丈甸。 院中可真熱鬧医增,春花似錦、人聲如沸老虫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祈匙。三九已至忽刽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夺欲,已是汗流浹背跪帝。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留些阅,地道東北人伞剑。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像市埋,于是被迫代替她去往敵國和親黎泣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理缤谎,服務(wù)發(fā)現(xiàn)抒倚,斷路器,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 米蘭退出了L.L魔法社團坷澡,她覺得心情很沉重托呕。為什么沒有人相信她呢? 這幾天频敛,米蘭面如灰土项郊,極力的挽回一切≌遄可每次都...
    Melany閱讀 182評論 0 0
  • 院子里的小草綠了 園子里的桃花開了 馬路邊的樹苗也長芽了 天空中不時有小鳥飛過 偶爾會嘰嘰喳喳地叫個不停 像是在唱...
    大漠郡主閱讀 515評論 0 1
  • 上周末聽葉武濱老師講易效能時間管理2階課着降,最后一段是關(guān)于生命力,其中一節(jié)講到他和兒子到美國的某個城市旅游汁展,那個城市...
    王二王婆閱讀 663評論 2 5