unity2019.4集成iOS-庫(kù)形式

最近需要在原生項(xiàng)目集成unity導(dǎo)出的工程打肝,并作為子模塊存在脂新,網(wǎng)上教程不少,大多數(shù)都嘗試了一遍粗梭,但都不能用争便,最終,還是總結(jié)出一套最為簡(jiǎn)單断医、快速滞乙、有效的方法。

內(nèi)容大部分轉(zhuǎn)載出自?<簡(jiǎn)書(shū)--小蝸牛吱呀之悠悠 >孩锡,因?yàn)榘姹静煌嵯约鹤隽艘恍┎糠终{(diào)整

一、背景

unity導(dǎo)出的工程躬窜,不僅可以以APP的形式獨(dú)立上線浇垦,同時(shí)也可以將其囊括成framework的形式,集成進(jìn)入我們已有的原生工程中荣挨,下面?zhèn)€將介紹已有原生上線項(xiàng)目男韧,如何集成unity朴摊。

unity的集成有三種方式:

1、直接拖拽導(dǎo)入

這種方式網(wǎng)上資料很多此虑,但我嘗試后都失敗了甚纲,也許與我這邊使用的unity版本有關(guān),此處不再贅述

2朦前、將unity作為一個(gè)target導(dǎo)入介杆,并建立關(guān)聯(lián)

此方法也資料很多,仍然沒(méi)有成功

上述兩種方法我這邊都失敗了韭寸,目前初步猜測(cè)是與使用的unity版本有關(guān)春哨,如有大神知道原因,歡迎留言~

3恩伺、將unity囊括成framework赴背,并將unity的內(nèi)容作為子項(xiàng)目導(dǎo)入到原生的workspace中,并建立兩者之間的關(guān)聯(lián)晶渠。

二凰荚、準(zhǔn)備工作

1、確認(rèn)當(dāng)前使用的unity版本是否高于2019.3.a2褒脯,如果低于此版本便瑟,本文將不適用,建議使用上述方式1番川、2胳徽。Xcode版本需要大于9.4,作者使用的是11.5版本爽彤。

2、unity導(dǎo)出環(huán)境配置

a.? 首先在Unity編輯器打開(kāi)UnityProject項(xiàng)目缚陷,選擇Menu -> Window -> Package Manager适篙,因?yàn)?.0.8版本不兼容使用Unity作為庫(kù),所以要移除Ads資源包箫爷,或更新Ads資源包到v 3.*版本嚷节。

b.? 配置Bundle Identification和Signing Team ID,此步驟非必須虎锚,可以在導(dǎo)出后再配置硫痰,但作者是統(tǒng)一配置的,所以也一并提一下窜护。

選擇Menu -> Edit -> Player Settings -> Player -> iOS設(shè)置標(biāo)簽頁(yè) -> Identification Section

c.導(dǎo)出unity項(xiàng)目時(shí)效斑,要注意區(qū)分是否支持模擬器,此處特別重要柱徙,如果弄錯(cuò)了缓屠,將導(dǎo)致后續(xù)集成失敗奇昙,如果你的原生工程是真機(jī)調(diào)試,那直接導(dǎo)出真機(jī)的工程即可敌完。

正確導(dǎo)出unity工程后储耐,就可以開(kāi)始進(jìn)行集成了

三、集成

集成分為兩個(gè)步驟:workspace配置? 滨溉、代碼配置

如果你的原生項(xiàng)目使用的是cocopods什湘,直接跳過(guò)此1.1步驟,從1.2開(kāi)始晦攒。

1.1workspace配置

此步驟為沒(méi)有使用cocopods的項(xiàng)目集成用闽撤,將原生工程和unity導(dǎo)出的工程放在同一個(gè)文件夾中,如下圖


新建workspace

此時(shí)勤家,關(guān)閉原生工程腹尖,打開(kāi)新建的workspace,點(diǎn)擊Xcode左下角的"+"號(hào)伐脖,將原生工程热幔、unity導(dǎo)出的工程添加進(jìn)來(lái)


導(dǎo)入workspace

導(dǎo)入完成后,請(qǐng)從步驟2繼續(xù)集成

1.2原生項(xiàng)目有使用cocopods

將unity導(dǎo)出的工程拷貝到原生工程文件夾中讼庇,得到如下圖結(jié)構(gòu)


拷貝unity工程

打開(kāi)workspace绎巨,點(diǎn)擊Xcode左下角的"+"號(hào),將unity導(dǎo)出的工程添加進(jìn)來(lái)


導(dǎo)入unity

2.將unity工程集成為UnityFramework.framework

a.展開(kāi)unity原生工程蠕啄,在products文件夾下找到UnityFramework.framework场勤,右擊show in finder


UnityFramework.framework路徑

b.在workspace中選中nativeiOS工程文件,點(diǎn)擊下圖的“+”號(hào)


點(diǎn)擊加號(hào)


添加其他

此操作比較關(guān)鍵歼跟,很多人找不到UnityFramework.framework和媳。打開(kāi)剛才UnityFramework.framework的路徑文件夾,直接將文件夾拖拽進(jìn)剛才的路徑查找器中


拖進(jìn)去

添加完成以后哈街,注意檢查一下下圖項(xiàng)


此時(shí)留瞳,你的原生空間下的Frameworks下將會(huì)出現(xiàn)UnityFramework.framework,且?guī)в姓归_(kāi)箭頭骚秦,否則就是錯(cuò)誤的


不是紅色文字她倘,就正確

3.配置UnityFramework.framework和橋接文件

a.選中unity工程Data文件夾,按下圖配置


b.選中unity工程下的NativeCallProxy.h文件作箍,按下圖配置硬梁,注意,需要public

好多同學(xué)說(shuō)NativeCallProxy.h文件找不到胞得,這里特別說(shuō)明一下:這個(gè)文件是需要在導(dǎo)出unity工程之前荧止,將NativeCallProxy.h文件導(dǎo)入,然后再導(dǎo)出unity工程;并且這個(gè)文件是不可以在unity工程導(dǎo)出后添加的罩息,因?yàn)閡nity導(dǎo)出過(guò)程嗤详,會(huì)建立NativeCallProxy.h與unity工程的關(guān)聯(lián),后期添加則沒(méi)有這個(gè)關(guān)聯(lián)瓷炮,編譯不通過(guò)

c.build一下UnityFramework.framework葱色,這一步一定要,否則容易出現(xiàn)文件找不到的問(wèn)題


unity項(xiàng)目 - /MainApp/main.mm進(jìn)行調(diào)用娘香,指向Data文件夾所處的新位置苍狰。

[ufw setDataBundleId: "com.unity3d.framework"];



原生項(xiàng)目刪除文件

刪除AppDelegate.h ?

AppDelegate.m?改成 AppDelegate.mm

刪除Main.m

刪除ViewController.h?ViewController.m

刪除SceneDelegate.h. SceneDelegate.m

刪除main.Storyboard

報(bào)錯(cuò)1: There is no scene delegate set. A scene delegate class must be specified to use a main storyboard file.

報(bào)錯(cuò)2:[Storyboard] Unknown class ViewController in Interface Builder file.

?---因?yàn)閯h掉了自動(dòng)生成的ViewController.h/m文件,使用了自己創(chuàng)建的viewController烘绽,但是在main.storyboard中有用到系統(tǒng)生成的ViewController.h/m文件淋昭,解決方法刪掉main.storyboard,刪掉info.plist文件中main storybiard file base name。

報(bào)錯(cuò)3:Could not find a storyboard named 'Main' in bundle NSBundle

處理辦法:

1. 檢查Info.plist. 刪除整個(gè)Application Scene Manifest安接,

2.刪除Info.plist中的SceneMainSet刪除

3.新建main.Storyboard翔忽,并設(shè)置默認(rèn);

4. 如果報(bào)錯(cuò) 重啟xcode

5. 如果需要-原生項(xiàng)目 添加相機(jī)權(quán)限Info.plist- ? ? ?Privacy - Camera Usage Description

原生項(xiàng)目-打開(kāi)僅剩下的代碼文件AppDelegate.mm文件盏檐,添加以下代碼

鏈接: https://pan.baidu.com/s/1uozhy529T4tl0a2ZmUK2cg 密碼: 9c8i

主要轉(zhuǎn)載參考http://www.reibang.com/p/f919cb90821e

參考http://www.reibang.com/p/d1f1b1b68784

參考http://www.reibang.com/p/b97f9d152d6b


本篇文章是介紹集成的歇式,啟動(dòng)后需要展示unity頁(yè)面請(qǐng)參考下一篇《iOS原生融合unity—framework形式集成(二)》地址:http://www.reibang.com/p/dfd35f2a6af2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胡野,隨后出現(xiàn)的幾起案子材失,更是在濱河造成了極大的恐慌,老刑警劉巖硫豆,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件龙巨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡熊响,警方通過(guò)查閱死者的電腦和手機(jī)旨别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)汗茄,“玉大人昼榛,你說(shuō)我怎么就攤上這事√弈眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵奥喻,是天一觀的道長(zhǎng)偶宫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)环鲤,這世上最難降的妖魔是什么纯趋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上吵冒,老公的妹妹穿的比我還像新娘纯命。我一直安慰自己,他們只是感情好痹栖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布亿汞。 她就那樣靜靜地躺著,像睡著了一般揪阿。 火紅的嫁衣襯著肌膚如雪疗我。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天南捂,我揣著相機(jī)與錄音吴裤,去河邊找鬼。 笑死溺健,一個(gè)胖子當(dāng)著我的面吹牛麦牺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鞭缭,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼剖膳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了缚去?” 一聲冷哼從身側(cè)響起潮秘,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎易结,沒(méi)想到半個(gè)月后枕荞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搞动,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年躏精,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹦肿。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矗烛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箩溃,到底是詐尸還是另有隱情瞭吃,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布涣旨,位于F島的核電站歪架,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏霹陡。R本人自食惡果不足惜和蚪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一止状、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧攒霹,春花似錦怯疤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泣崩,卻和暖如春少梁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背矫付。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工凯沪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人买优。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓妨马,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杀赢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烘跺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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