MAC Unity導(dǎo)出iOS工程

導(dǎo)出工程很簡(jiǎn)單怪得,如圖操作:



接下來(lái)最重要的就是Player Settings中的設(shè)置了,以下為具體每一項(xiàng)的說(shuō)明舶掖,這個(gè)必須要仔細(xì)看和理解呀球昨,否則運(yùn)行編譯一堆問(wèn)題,還無(wú)處下手眨攘。

官網(wǎng)地址:?https://docs.unity3d.com/Manual/class-PlayerSettingsiOS.html

Unity項(xiàng)目輸出到IOS平臺(tái)發(fā)布時(shí)主慰,需要進(jìn)行一些PlayerSettings的設(shè)置,對(duì)關(guān)鍵的一些設(shè)置做一些說(shuō)明:

IOS的PlayerSettings分為:

● Resolution and Presentation 即分辨率及樣式

這一項(xiàng)主要是對(duì)旋轉(zhuǎn)方向鲫售,是否全屏共螺,狀態(tài)欄是否隱藏,是否顯示一個(gè)等待圈等基本的設(shè)置,這個(gè)設(shè)置其實(shí)就是修改的 xcode中的info.plist文件情竹,

這里重點(diǎn)說(shuō)一下Disable Depth and Stencil這個(gè)選項(xiàng):

這個(gè)意思是說(shuō)是否禁用深度緩存和模板緩存藐不,這個(gè)選項(xiàng)默認(rèn)是不禁用,如果shader中沒(méi)用到深度和模板緩存鲤妥,禁用這個(gè)選項(xiàng)可以減少GPU/CPU的一些工作量佳吞,節(jié)省一點(diǎn)點(diǎn)內(nèi)存,或只是2D游戲棉安,并且不包含模板遮罩底扳,也可以禁用這個(gè)選項(xiàng)

● Icon圖標(biāo)設(shè)置

第一組對(duì)應(yīng)的180X180,167X167,152X152,144X144,120X120,114X114,76X76,72X72,57X57這幾組尺寸的圖標(biāo),分別對(duì)應(yīng)的是不同的iphone設(shè)備上的桌面圖標(biāo)贡耽,可以全部自己一一設(shè)置衷模,也可以用默認(rèn)的鹊汛,unity會(huì)自動(dòng)生成相應(yīng)的尺寸

第二組spotlight icons,有120X120,80X80,40X40,三種尺寸阱冶,這個(gè)對(duì)應(yīng)的是搜索下拉列表的圖標(biāo)(稍候上圖)

第三組settings icons ,有87X87,58X58,29X29三種尺寸刁憋,是通過(guò)-設(shè)置里顯示的小圖標(biāo)

第四組Notification icons,有60X60,40X40,20X20三種尺寸,是當(dāng)有消息通知時(shí)木蹬,在通知欄里顯示的圖標(biāo)

第五組App Store icons至耻,是1024X1024的尺寸,這個(gè)圖標(biāo)本來(lái)是發(fā)布應(yīng)用時(shí)在開(kāi)發(fā)者網(wǎng)站后臺(tái)設(shè)置的镊叁,Xcode9改成了可以直接在Xcode設(shè)置

Prerendered icon 指的是尘颓,是否預(yù)渲染圖標(biāo)(稍后解釋什么是預(yù)渲染圖標(biāo),作用是什么)

● Splash Image

Virtual Reality Splash Image,只用于開(kāi)啟了VR支持的情況晦譬,在加載第一個(gè)場(chǎng)景時(shí)出現(xiàn)疤苹,圖像的尺寸沒(méi)有什么特別的要求

Splash Screen,是剛加載初始化時(shí)使用敛腌,如果是Pro版卧土,可以自己指定。如果不是像樊,則使用Unity的默認(rèn)splash圖尤莺。

Spash Style指設(shè)置Splash的樣式,包括Dark on light 和light on dark

Animation是指Splash出現(xiàn)時(shí)的動(dòng)畫效果

Show Unity logo,是指在splash屏下是否出現(xiàn)unity的logo標(biāo)志凶硅,Pro版可以不選

DrawMode指unityLogo出現(xiàn)的位置缝裁,Unity logo below指在splash出現(xiàn)的過(guò)程中Unity logo始終在下面出現(xiàn)扫皱,

All Sequential指足绅,按順序出現(xiàn),如果勾選了Show Unity logo韩脑,Unity Logo會(huì)第一個(gè)出現(xiàn)氢妈。

Logos可以添加多個(gè)圖片,還可以設(shè)置每個(gè)圖片出現(xiàn)的時(shí)間段多,這個(gè)功能主要用于出現(xiàn)多個(gè)spash屏?xí)r首量,設(shè)置,圖片的格式要求是sprite2d,

Background:是Splash階段的背景进苍,Overlay Opacity指背景疊加的透明度加缘,BackgroundImage是指背景圖片,尺寸會(huì)充滿全屏觉啊,Alternate Protrait Image拣宏,用于portrait 豎屏模式下的背景,如果不設(shè)置都使用BackgroundImage

iPhone Launch Screen:

Launch Screen 是iOS8.0以后新增加的一個(gè)使用XIB文件動(dòng)態(tài)生成Launch image的功能杠人。

Launch screen type:是指Launch screen的類型勋乾,分為如下幾類:

None:不生成Launch Screen圖宋下,只有Launch Images圖

Default:使用默認(rèn)的設(shè)置,和Launch images 類似辑莫,會(huì)在xcode根目錄生成一個(gè)LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png圖

Image with background, relative size:指的是相對(duì)于屏幕尺寸的一個(gè)相對(duì)比例顯示学歧,會(huì)在xcode要目錄下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和顏色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png圖

Image with background, constant size:指的是不隨屏幕大小比例而變化,而是使用圖像本身的實(shí)際大小顯示各吨,

也是會(huì)在xcode要目錄下生成LaunchScreen-iPhone.xib用于描述填充比(Fill percentage)和顏色(color),和LaunchScreen-iPhoneLandscape.png和LaunchScreen-iPhonePortrait.png圖

Custom Xib:是指可以自定義xib文件枝笨,描述圖片的顯示方式

Legacy Launch Images:是io7以前的設(shè)置方式,此種設(shè)置方式已經(jīng)過(guò)期揭蜒,IOS8以后可以用Launch Screen方法伺帘,這樣可以減小資源數(shù)量,減小包大小忌锯。

這幾種的顯示順序是:當(dāng)游戲啟動(dòng)時(shí)伪嫁,

先顯示IOS層面的Launch Screen,

然后進(jìn)入Splash屏階段,此階段會(huì)設(shè)置多個(gè)閃屏或開(kāi)啟unty Logo偶垮,設(shè)置Background背景融合

Debugging and Crash Reporting

Enable Internal Profiler:開(kāi)啟一個(gè)內(nèi)部的Profiler,將收集到的性能信息打印到控制臺(tái),這個(gè)功能已經(jīng)不建議使用了

On .Net UnhandledException:分為Crash和Silent Exit,分別指.net出現(xiàn)異常后生成Crash Reporter報(bào)告上報(bào)給蘋果和出現(xiàn)異常時(shí)什么也不錯(cuò)似舵,直接忽略

Log ObjC uncaught exceptions:些值到應(yīng)的是Xcode工程中CrashReport.h中的ENABLE_OBJC_UNCAUGHT_EXCEPTION_HANDLER宏定義脚猾,如果此值是1,則開(kāi)啟對(duì)CrashReporter.mm中的InitObjCUEHandler方法的調(diào)用

static void InitObjCUEHandler()

{

// Crash reporter sets its own handler, so we have to save it and call it manually

gsCrashReporterUEHandler = NSGetUncaughtExceptionHandler();

NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);

}

Enable Crash Report API: 通過(guò)CrashReport API 捕捉 Crash

這幾種Debug和Crash報(bào)告的方法可以靈活運(yùn)用砚哗,更好的幫助定位bug.

Other Settings

渲染相關(guān):

Color Space:是指選擇顏色空間龙助,分為Gamma空間和Linear線性空間,這個(gè)會(huì)單獨(dú)拿出文章來(lái)講

Auto Graphics APIs:選擇使用哪個(gè)圖形API,可以選擇Metal蛛芥,GLES2和GLES3,ios下默認(rèn)是Metal 這里ios去掉這個(gè)勾選提鸟,然后選擇gles2

Force hard shadows on Metal:指在Metal下強(qiáng)制使用硬陰影

Metal Editor Support:指的是在Editor下支持Metal API

static batching:指在build階段使用靜態(tài)合批

Dynamic batching:指在build階段使用動(dòng)態(tài)合批

GPU Skinning:將允許符合條件平臺(tái)使用GPU Skinning,平臺(tái)包括Dx11或GLES3

Graphics Jobs:啟用后可將Jobs從主線程遷移到工作線程從而獲得極大的渲染性能提升,注意這個(gè)還是在實(shí)驗(yàn)性的仅淑,慎用

Virtual Reality Supported:開(kāi)啟之后称勋,可以自行添加VR的SDK如GVRSDK,當(dāng)Build時(shí)會(huì)在Xcode中加入pod項(xiàng)目涯竟,添加VR相關(guān)的SDK

項(xiàng)目標(biāo)識(shí)設(shè)置:(Identification):

Bundle Identifier:指在Apple賬號(hào)平臺(tái)設(shè)置的provisioning certificate的bundle 名稱

Version:對(duì)應(yīng)的是XCode中plist的CFBundleShortVersionString赡鲜,指發(fā)布版本號(hào),提交審核時(shí)需要的

Build:對(duì)應(yīng)的是CFBundleVersion庐船,指當(dāng)前發(fā)布版本的內(nèi)部build版本银酬,這個(gè)值每次重新提審都要遞增修改,否則會(huì)提交失敗

Automatically Sign:是否使用自動(dòng)簽名筐钟,如果選擇此項(xiàng)揩瞪,需要填寫Team ID,TeamID也是蘋果開(kāi)發(fā)者賬號(hào)后臺(tái)設(shè)置的,會(huì)自動(dòng)生成provisioning profile

Team ID 可以在mac下或者apple developer下查看到 (mac上打開(kāi)鑰匙盗棵,找到正在要用的簽名證書壮韭,其中的組織單位后面就是team id北发,拷貝出來(lái)就可以了)

iOS Provisioning Profile:是指在蘋果開(kāi)發(fā)者后臺(tái)設(shè)置的provision文件,選擇之后喷屋,ProfileID會(huì)自動(dòng)填充上

編譯配置:

Scripting Runtime Version:指C#腳本的運(yùn)行時(shí)版本琳拨,分.NET3.5和.NET4.6兩個(gè)版本

Scripting Backend:指build后腳本生成的方式分Mono和IL2CPP,由于蘋果現(xiàn)在要求提交的app需要支持64位,所以這里只能選擇IL2CPP生成C++的代碼屯曹,編譯成支持64位的代碼狱庇,而Mono不能支持64位,審核時(shí)會(huì)被蘋果拒絕

Api Compatibility Level:指C#API兼容級(jí)別恶耽,分.Net2.0全集和.Net 2.0 SubSet密任,盡量選擇SubSet,可以減小包大小偷俭,

Target Device:指發(fā)布的目標(biāo)平臺(tái)浪讳,分iphone,ipad和iphone+iPad

Target SDK:指使用哪個(gè)版本的XcodeSDK,分Device SDK和 Simulator SDK,選擇Device SDK則只能在設(shè)備上打包測(cè)試涌萤,而選擇Simulator SDK則可以直接在XCode模擬器運(yùn)行淹遵,具體看測(cè)試的需要? (這里一定一定要過(guò)腦子好好理解!這邊就是因?yàn)楫?dāng)時(shí)看到了负溪,但是沒(méi)有正確理解透揣,結(jié)果導(dǎo)致在模擬器編譯兩天都不過(guò)!4铡7妗!Q碌獭侍咱!結(jié)果無(wú)意間看到這個(gè),拿了個(gè)真機(jī)來(lái)運(yùn)行倘感,一切正常了7呕怠A省@下辍!>ā@!8瓤痢>盗!S拚健=课ā)

Target minimum iOS Version:指支持的最小的iOS版本齐遵,現(xiàn)在最高版本已經(jīng)是ios11了,所以設(shè)置成最小值是8.0即可

Use on demand resources:這個(gè)是IOS9.0以后支持的一項(xiàng)資源分包功能塔插,類似AssetBundle梗摇,可以分成幾個(gè)文件,這樣減少用戶下載的等待時(shí)間想许,剩下部分再慢慢下載伶授,勾選這個(gè)后最小版本會(huì)自動(dòng)變成9.0

Accelerometer Frequency:設(shè)置檢測(cè)加速度傳感器的頻率,默認(rèn)情況下流纹,一個(gè)UnityiOS應(yīng)用程序加速器每秒進(jìn)行60次采樣糜烹,可以通過(guò)降低采樣頻率的加速度看到一些性能上的好處,甚至可以在游戲不使用加速器輸入漱凝,將它設(shè)置為Disabled

**Camera Usage Description:

Location Usage Description:

Microphone Usage Description:**

這三個(gè)選項(xiàng)分別指疮蹦,詢問(wèn)用戶是否允許App使用相機(jī),位置和麥克風(fēng)的權(quán)限茸炒,如果需要訪問(wèn)挚币,這里要添上描述,用于詢問(wèn)時(shí)的描述

Mute Other Audio Sources:是否當(dāng)app進(jìn)入后臺(tái)后繼續(xù)播放音頻

Prepare iOS for Recording:當(dāng)勾選時(shí)microphone recoding api會(huì)被初始化扣典,使錄音有較低的延遲

**Requires Persistent WiFi:**app是否需要Wi-Fi連接妆毕,當(dāng)App運(yùn)行時(shí)iOS會(huì)維護(hù)一個(gè)活動(dòng)的Wi-Fi連接,對(duì)應(yīng)info.plist的Application uses Wi-Fi key

Allow downloads over HTTP (nonsecure):開(kāi)啟后允許通過(guò)HTTP下載內(nèi)容贮尖,默認(rèn)推薦是使用HTTPS

Supported URL schemes:配置IOS的URL schemes

Disable HW Statistics:是否禁用 Hard Ware 統(tǒng)計(jì)笛粘,默認(rèn)Unity的 iOS app會(huì)發(fā)送匿名的Hard Ware 統(tǒng)計(jì)到Unity.禁用后可以禁止發(fā)送統(tǒng)計(jì)

**Defer system gestures on edges:

Hide home button on iPhoneX:**

這兩個(gè)選項(xiàng)主要是針對(duì)iPhoneX的功能設(shè)置的,由于iPhoneX取消了實(shí)體home鍵湿硝,所以會(huì)有一個(gè)指示邊提供了類似Home鍵的功能薪前,默認(rèn)手勢(shì)會(huì)先響應(yīng)指示邊,這會(huì)在游戲中造成不好的體驗(yàn)关斜,比如誤點(diǎn)示括,所以IOS11提供了延遲系統(tǒng)手勢(shì)的選項(xiàng),可以針對(duì)四個(gè)邊的每個(gè)邊進(jìn)行設(shè)置痢畜,建議四個(gè)全設(shè)置成延遲垛膝。

也可以設(shè)置成隱藏homeButton,注意這兩個(gè)不要同時(shí)設(shè)置,如果想實(shí)現(xiàn)延遲系統(tǒng)手勢(shì)的效果丁稀,就不要設(shè)置隱藏home button了

Render Extra Frame on Pause:指當(dāng)app 暫停時(shí)是否渲染額外的幀

Behavior in Background:指app切到后臺(tái)后的行為吼拥,可以選擇掛起,退出线衫,或自定義一些行為

Architecure:選擇支持的CPU架構(gòu)凿可,ARMv7或ARM64或兩者全兼容

Scripting Define Symbols:可以自定義編譯選項(xiàng),定義后可以在代碼里用#號(hào)引用

Active Input Handling:使用新的Input System還是Input Manager或是兩者都用

優(yōu)化相關(guān)(Optimization):

Prebake Collision Meshes:是否在構(gòu)建時(shí)將碰撞數(shù)據(jù)加到mesh里

Keep Loaded Shaders Alive:保證已經(jīng)加載的Shader不會(huì)被卸載

Preloaded Assets:當(dāng)app啟動(dòng)時(shí)被預(yù)先加載的資源數(shù)組

AOT Compilation Options:附加的AOT編譯器選項(xiàng)

Strip Engine Code:如果被選中授账,unity會(huì)默認(rèn)剝離在項(xiàng)目中不會(huì)使用的組件”枯跑,也就是說(shuō)惨驶,假如你的項(xiàng)目中沒(méi)有音頻功能,unity會(huì)在封裝的時(shí)候去掉這部分代碼以減少大小敛助,這個(gè)設(shè)置只在IL2CPP中有效)

Script Call Optimization:分Slow and Safe和Fast But No Exceptions,除非是極致的優(yōu)化性能敞咧,建議還是選擇Slow and safe

Vertex Compression:選擇哪些Vertex channels被壓縮,壓縮可以節(jié)省內(nèi)存和帶寬辜腺,但會(huì)丟失一些精度休建,包括Position,Normal

Color,UV0,UV1,UV2,UV3,Tangent(切線空間)

Optimize Mesh Data:從mesh中移除掉材質(zhì)不需要的數(shù)據(jù)包括tangents(切線),normals(法線),colors,和UV

Logging:是指設(shè)置日志輸出的類型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市评疗,隨后出現(xiàn)的幾起案子测砂,更是在濱河造成了極大的恐慌,老刑警劉巖百匆,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砌些,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡加匈,警方通過(guò)查閱死者的電腦和手機(jī)存璃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)雕拼,“玉大人纵东,你說(shuō)我怎么就攤上這事∩犊埽” “怎么了偎球?”我有些...
    開(kāi)封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辑甜。 經(jīng)常有香客問(wèn)我衰絮,道長(zhǎng),這世上最難降的妖魔是什么磷醋? 我笑而不...
    開(kāi)封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任猫牡,我火速辦了婚禮,結(jié)果婚禮上邓线,老公的妹妹穿的比我還像新娘淌友。我一直安慰自己,他們只是感情好褂痰,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布亩进。 她就那樣靜靜地躺著,像睡著了一般缩歪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谍憔,一...
    開(kāi)封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天匪蝙,我揣著相機(jī)與錄音主籍,去河邊找鬼。 笑死逛球,一個(gè)胖子當(dāng)著我的面吹牛千元,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颤绕,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼幸海,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了奥务?” 一聲冷哼從身側(cè)響起物独,我...
    開(kāi)封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎氯葬,沒(méi)想到半個(gè)月后挡篓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帚称,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年官研,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闯睹。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡戏羽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出楼吃,到底是詐尸還是另有隱情蛛壳,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布所刀,位于F島的核電站衙荐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏浮创。R本人自食惡果不足惜忧吟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斩披。 院中可真熱鬧溜族,春花似錦、人聲如沸垦沉。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厕倍。三九已至寡壮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背况既。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工这溅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棒仍。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓悲靴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親莫其。 傳聞我的和親對(duì)象是個(gè)殘疾皇子癞尚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345