前言
吐吐槽,公司負(fù)責(zé)Unity IOS平臺(tái)這塊的大佬為了理想拋棄了我們爪瓜。順帶著把ios的重?fù)?dān)交付到我手上屎蜓。人總是要成長(zhǎng)的雖然不舍但活還是要繼續(xù)干下去。本文記錄一下Unity中iOS 手機(jī)平臺(tái)的Player 所有設(shè)置钥勋。 內(nèi)容比較基礎(chǔ)和簡(jiǎn)單炬转,幫助別人也幫助初入門(mén)徑的自己。只要搞Unity的這里的知識(shí)你早晚都能用上算灸。強(qiáng)調(diào)一下我是搞安卓的(手動(dòng)捂臉)
文章目錄(IOS)
演示所用版本為 Unity 19.4.2f1 mac版本
Icon:展示手機(jī)上游戲圖標(biāo)扼劈。
- Resolution and Presentation:屏幕分辨率(例如游戲是否應(yīng)默認(rèn)為全屏模式)的設(shè)置。
Splash Image:游戲啟動(dòng)時(shí)顯示的圖像(可以理解為游戲閃屏)菲驴。
Debugging and crash reporting:可以收集有關(guān)應(yīng)用程序性能數(shù)據(jù)還有調(diào)試和崩潰報(bào)告
Other Settings:平臺(tái)特有的有關(guān)設(shè)置(對(duì)應(yīng)的平臺(tái)不同荐吵,展示的內(nèi)容略有差異)。
XR Settings:用于虛擬現(xiàn)實(shí)赊瞬、增強(qiáng)現(xiàn)實(shí)和混合現(xiàn)實(shí)應(yīng)用的設(shè)置先煎。(不搞VR啥的你也用不著就不說(shuō)了目錄占個(gè)坑)
進(jìn)入正題
Company Name : 公司的名稱(chēng)。
Product Name : 游戲名稱(chēng)巧涧。
Version :應(yīng)用程序的版本號(hào)薯蝎。
Default Icon :選擇要用作每個(gè)平臺(tái)上應(yīng)用程序的默認(rèn)圖標(biāo)的 Texture 2D 文件
Default Cursor :選擇要用作每個(gè)支持平臺(tái)上應(yīng)用程序的默認(rèn)光標(biāo)的 Texture 2D 文件。
Cursor Hotspot : 設(shè)置從默認(rèn)光標(biāo)左上角到光標(biāo)熱點(diǎn)位置的偏移值(以像素為單位)谤绳。光標(biāo)熱點(diǎn)是光標(biāo)圖像內(nèi)部由 Unity 用于根據(jù)光標(biāo)位置觸發(fā)事件的點(diǎn)占锯。
Icon
application icons :應(yīng)用程序的主圖標(biāo)
Spotlight icons :應(yīng)用程序隱藏聚焦搜索的圖標(biāo)
Settings icons :設(shè)備的主設(shè)置頁(yè)面圖標(biāo)
Notification icons :向應(yīng)用程序發(fā)送的通知的圖標(biāo)
Marketing icons :上傳App Store所用圖標(biāo)
注:設(shè)置的圖標(biāo)都是 2D 紋理類(lèi)型的資源(簡(jiǎn)單點(diǎn)說(shuō)就是.png文件)。如果缺少圖標(biāo)紋理缩筛,Unity 將以最接近的大小來(lái)縮放圖標(biāo)紋理消略,并優(yōu)先使用較大的紋理。常規(guī)下開(kāi)發(fā)icon這部分只需要設(shè)置Default Cursor即可瞎抛,其它項(xiàng)不用做處理艺演。
Resolution and Presentation
-
Resolution Scaling :Resolution Scaling Mode 可以將縮放設(shè)置為等于或低于屏幕原始分辨率
Disabled :禁止分辨率縮放
FixedDPI : 選擇此項(xiàng)值時(shí),將顯示 Target DPI 屬性。使用 Target DPI 屬性可設(shè)置游戲屏幕的目標(biāo) DPI胎撤。如果設(shè)備的屏幕原始 DPI 高于此值晓殊,則 Unity 會(huì)降低游戲畫(huà)面分辨率以匹配此設(shè)置。這有助于優(yōu)化性能和電池續(xù)航時(shí)間哩照。還可以用于定位特定的 DPI 設(shè)置。
-
Orientation :選擇游戲的屏幕方向懒浮。默認(rèn)設(shè)置是 Auto Rotation飘弧。如果選擇此設(shè)置,則屏幕將按照設(shè)備方向旋轉(zhuǎn)砚著。
Portrait 底部
Portrait Upside Down 頂部
Landscape Left 右側(cè)
Landscape Right 左側(cè)
Auto Rotation 屏幕方向隨設(shè)備方向而變化次伶。此為默認(rèn)值。
Multitasking Support : 如果應(yīng)用程序需要在全屏模式下運(yùn)行稽穆,需要勾選 Requires Fullscreen 選項(xiàng)
-
Status Bar :來(lái)指定與 iOS 狀態(tài)欄相關(guān)的參數(shù)冠王。
Status Bar Hidden :此選項(xiàng)可在應(yīng)用程序啟動(dòng)時(shí)隱藏狀態(tài)欄。
Status Bar Style :應(yīng)用程序啟動(dòng)時(shí)狀態(tài)欄的樣式舌镶。提供的選項(xiàng)為 Default 和 Light柱彻。(默認(rèn)選項(xiàng)為Default)
Disable Depth and Stencil:此選項(xiàng)可禁用深度和模板緩沖區(qū)。(此設(shè)置對(duì) Android 和 iOS 均適用)
Render Over Native UI : 此選項(xiàng)可強(qiáng)制應(yīng)用程序在原生 iOS 或 Android UI 之上渲染餐胀。(此設(shè)置對(duì) Android 和 iOS 均適用)
Show Loading Indicator : 選擇如何顯示加載指示符哟楷。
Splash Image
關(guān)于閃屏的屬性和設(shè)置之前博文有說(shuō)過(guò),點(diǎn)擊超鏈接即可查看:Unity 設(shè)置安卓和ios平臺(tái)的閃屏頁(yè)
Debugging and crash reporting
- Enable Internal Profiler (Deprecated) :性能分析器 (Profiler) 可收集應(yīng)用程序的性能數(shù)據(jù)并將報(bào)告輸出至控制臺(tái)否灾。報(bào)告包含每個(gè) Unity 子系統(tǒng)在每幀上執(zhí)行時(shí)所用的毫秒數(shù)卖擅,并在 30 幀范圍內(nèi)取平均值。
-
On .Net UnhandledException: .NET 未處理的異常時(shí) Unity 采取的操作墨技。
選擇Crash:應(yīng)用程序崩潰并生成崩潰報(bào)告惩阶,用戶可將該報(bào)告提交到 iTunes 并由開(kāi)發(fā)人員用于對(duì)崩潰問(wèn)題進(jìn)行故障排除
選擇Silent Exit:應(yīng)用程序退出且不報(bào)錯(cuò),也不生成崩潰報(bào)告扣汪。
Log Obj-C Uncaught Exceptions : 啟用此操作后断楷,Unity 會(huì)將 Objective-C 未捕獲異常信息輸出至控制臺(tái)。
Enable Crash Report API :自定義崩潰報(bào)告崭别∑晟可以使用腳本通過(guò) CrashReport API 來(lái)訪問(wèn)崩潰日志。 |
Other Settings
關(guān)于Other Settings部分重要屬性之前博文有說(shuō)過(guò)紊遵,點(diǎn)擊即可查看:Unity 導(dǎo)出Xcode 項(xiàng)目的結(jié)構(gòu)
-
Rendering :可自定義 Unity 針對(duì) iOS 平臺(tái)渲染應(yīng)用程序的方式
Color Space :選擇 Unity 用于渲染的顏色空間:Gamma 或 Linear
Auto Graphics API :禁用此選項(xiàng)可手動(dòng)選擇和重新排序圖形 API账千。此選項(xiàng)在默認(rèn)情況下為啟用狀態(tài),并包 含 Metal暗膜。還可以添加 OpenGLES2和 OpenGLES3作為不支持 Metal 的設(shè)備的后備選項(xiàng)匀奏;但是,這兩個(gè)選項(xiàng)均已棄用学搜,不應(yīng)再使用娃善。
3.Color Gamut:可以為 iOS 平臺(tái)添加或刪除色域以用于渲染论衍。
4.Metal Editor Support:此選項(xiàng)可在 Unity Editor 中使用 Metal API,并釋放更快速的著色器迭代以定位 Metal API聚磺。
5.Metal API Validation:如果需要調(diào)試著色器問(wèn)題坯台,請(qǐng)啟用此選項(xiàng)。僅當(dāng)選中 Metal Editor Support 復(fù)選框時(shí)瘫寝,才會(huì)顯示此選項(xiàng)蜒蕾。注意:驗(yàn)證會(huì)提高 CPU 使用率,因此僅在進(jìn)行調(diào)試時(shí)使用焕阿。
6.Metal Write-Only Backbuffer:允許在非默認(rèn)設(shè)備方向上提高性能咪啡。此屬性會(huì)在后緩沖區(qū)上設(shè)置 frameBufferOnly 標(biāo)志,因此會(huì)阻止從后緩沖區(qū)的回讀暮屡,但可實(shí)現(xiàn)一定程度的驅(qū)動(dòng)程序優(yōu)化撤摸。
7.Force hard shadows on Metal:此選項(xiàng)可強(qiáng)制 Unity 在 Metal 中對(duì)陰影使用點(diǎn)采樣。這樣會(huì)降低陰影質(zhì)量褒纲,但可以提高性能准夷。
8.Memoryless Depth:選擇使用無(wú)記憶渲染紋理。
Unused :從不使用無(wú)記憶幀緩沖區(qū)深度莺掠。
Forced 始終使用無(wú)記憶幀緩沖區(qū)深度冕象。
Automatic 讓 Unity 決定何時(shí)使用無(wú)記憶幀緩沖區(qū)深度。
9.Multithreaded Rendering:此選項(xiàng)可使用多線程渲染汁蝶。
10.Static Batching:此選項(xiàng)可使用靜態(tài)批處理渐扮。
11.Dynamic Batching :此選項(xiàng)可使用動(dòng)態(tài)批處理(默認(rèn)情況下會(huì)啟用此選項(xiàng))
12.Compute Skinning:此選項(xiàng)可使用 Metal GPU 計(jì)算蒙皮,這樣可以釋放 CPU 資源掖棉。
13.Graphics Jobs (Experimental):此選項(xiàng)可指示 Unity 將圖形任務(wù)(渲染循環(huán))卸載到在其他 CPU 核心上運(yùn)行的工作線程墓律。這可以減少主線程上 Camera.Render 所花費(fèi)的時(shí)間。
14.Lightmap Encoding:選擇 Low Quality幔亥、Normal Quality 或 High Quality 來(lái)設(shè)置貼圖編碼耻讽。此設(shè)置影響貼圖的編碼方案和壓縮格式。
15.Lightmap Streaming Enabled:此選項(xiàng)可根據(jù)需要僅加載光照貼圖 Mipmap 以渲染當(dāng)前攝像機(jī)帕棉。此值適用于生成的光照貼圖紋理针肥。
16.Streaming Priority :僅當(dāng)啟用光照貼圖串流 (Lightmap Streaming) 時(shí),才會(huì)顯示此選項(xiàng)香伴。設(shè)置光照貼圖 Mipmap 串流優(yōu)先級(jí)以解決資源沖突慰枕。Unity 將這些生成的值應(yīng)用于光照貼圖紋理。
17.Enable Frame Timing Stats :此選項(xiàng)可收集 CPU/GPU 幀時(shí)序統(tǒng)計(jì)信息即纲。
-
Identification :應(yīng)用程序的標(biāo)識(shí)信息具帮。
Bundle Identifier :構(gòu)建的應(yīng)用程序的資源調(diào)配配置文件。標(biāo)識(shí)符的基本結(jié)構(gòu)是 com.CompanyName.ProductName。此結(jié)構(gòu)可能會(huì)根據(jù)你居住的國(guó)家/地區(qū)而有所不同蜂厅,因此始終默認(rèn)為 Apple 為你的開(kāi)發(fā)者帳戶提供的字符串匪凡。你的 ProductName 已在你的資源調(diào)配證書(shū)中設(shè)置。(此值關(guān)聯(lián)info.plist 文件中顯示為 CFBundleIdentifier)
Version:版本號(hào),此值關(guān)聯(lián) info.plist 文件中顯示為CFBundleShortVersionString
Build:應(yīng)用程序版本的構(gòu)建版本號(hào)掘猿。
Signing Team ID:輸入你的 Apple Developer Team ID病游。你可以在 Apple 開(kāi)發(fā)者網(wǎng)站上的 Xcode Help下找到此信息。
Automatically Sign:此選項(xiàng)可指示 Xcode 自動(dòng)為你的構(gòu)建版本簽名稠通。
- Configuration : ios相關(guān)配置
-
A: API 配置設(shè)置
Scripting Backend :腳本后端確定 Unity 如何在項(xiàng)目中編譯和執(zhí)行 C# 代碼衬衬。對(duì)于 iOS,此設(shè)置默認(rèn)為 IL2CPP采记,并且無(wú)法更改佣耐。
API Compatibility Level: API 兼容性級(jí)別,你可以決定在項(xiàng)目中使用哪些 .NET API政勃。此設(shè)置可能會(huì)影響與第三方庫(kù)的兼容性唧龄。(建議使用4.x)
C++ Compiler Configuration :在編譯 IL2CPP 生成的代碼時(shí)使用的 C++ 編譯器配置。對(duì)于 iOS奸远,此設(shè)置默認(rèn)為 Release既棺,并且無(wú)法更改。
Use incremental GC:使用增量式垃圾回收器懒叛,這種垃圾回收器將垃圾收集工作分布在多個(gè)幀上丸冕,因此可以在幀持續(xù)時(shí)間中減少與垃圾收集相關(guān)的峰值
-
B:Apple 特殊配置信息
Camera Usage Description:輸入在 iOS 設(shè)備上訪問(wèn)攝像頭的原因(常規(guī)用不上或者空著)
Location Usage Description:輸入訪問(wèn) iOS 設(shè)備位置的原因。(常規(guī)用不上或者空著)
Microphone Usage Description:輸入在 iOS 設(shè)備上訪問(wèn)麥克風(fēng)的原因薛窥。(常規(guī)用不上或者空著)
Use on Demand Resource:可按需選擇胖烛。啟用后,將顯示 Variant map for app slicing 部分功能诅迷。
Accelerometer Frequency:定義加速度計(jì)采樣的頻率佩番。此頻率可以設(shè)置為 15Hz、30Hz罢杉、60Hz 和 100Hz趟畏。或者滩租,選擇 Disbaled 以忽略加速度計(jì)赋秀。
Mute Other Audio Sources:如果希望你的應(yīng)用程序從后臺(tái)運(yùn)行的其他應(yīng)用程序中停止音頻,請(qǐng)啟用此選項(xiàng)律想。否則猎莲,后臺(tái)音頻會(huì)繼續(xù)與你的應(yīng)用程序一起播放。
Prepare iOS for Recording:此選項(xiàng)可初始化麥克風(fēng)錄音 API技即。這會(huì)降低錄音延遲益眉,但也會(huì)通過(guò)耳機(jī)重新傳送 iPhone 音頻輸出。
Force iOS Speakers when Recording:此選項(xiàng)可通過(guò)內(nèi)置揚(yáng)聲器發(fā)送手機(jī)的音頻輸出,即使插入耳機(jī)和錄音也是一樣郭脂。
Requires Persistent WiFi:選項(xiàng)可要求 Wi-Fi 連接年碘。iOS 在應(yīng)用程序運(yùn)行時(shí)保持有效的 Wi-Fi 連接。
Allow downloads over HTTP (nonsecure):此選項(xiàng)可允許通過(guò) HTTP 下載內(nèi)容展鸡。默認(rèn)且推薦使用的文件傳輸協(xié)議為 HTTPS屿衅,這種協(xié)議更加安全。
Supported URL schemes: 支持的 URL 方案列表莹弊。
-
C:Apple設(shè)備信息
Disable HW Statistics:此選項(xiàng)可指示應(yīng)用程序不要將有關(guān)硬件的信息發(fā)送到 Unity涤久。
Target Device :應(yīng)用程序的目標(biāo)設(shè)備。選項(xiàng)包括 iPhone Only忍弛、iPad Only 和 iPhone + iPad响迂。
Target SDK :應(yīng)用程序所針對(duì)的 SDK。選項(xiàng)包括 Device SDK 和 Simulator SDK细疚。(注意:請(qǐng)務(wù)必選擇正確的 SDK蔗彤。例如,如果在 Unity 中選擇 Device SDK 并在 Xcode 中以 Simulator 為目標(biāo)疯兼,那么構(gòu)建將失敗)
Target minimum iOS Version:應(yīng)用程序所需要的最低 iOS 版本(建議用默認(rèn)的10.0即可)
Enable ProMotion Support:此選項(xiàng)可在 ProMotion 顯示屏上允許高頻刷新率 (120 Hz)然遏。這可能會(huì)導(dǎo)致你的應(yīng)用程序消耗更多的電池電量。
Requires ARKit support:此選項(xiàng)可在應(yīng)用程序發(fā)布到 App Store 時(shí)將目標(biāo)設(shè)備限制為 iPhone 6s/iOS 11 或更新款的設(shè)備吧彪。
Automatically add capabilities:選擇此選項(xiàng)后待侵,Unity 會(huì)生成一個(gè) entitlements.plist 文件,并為應(yīng)用程序所實(shí)現(xiàn)的 iOS API(例如 Game Center 或 Notifications)添加功能姨裸。
Defer system gestures on edges:選擇一個(gè)或多個(gè)邊緣秧倾,用戶必須輕掃兩次相應(yīng)的邊緣才能作為系統(tǒng)手勢(shì)。選項(xiàng)包括 Top Edge傀缩、Left Edge那先、Bottom Edge 和 Right Edge
Target minimum iOS Version:應(yīng)用程序所需要的最低 iOS 版本(建議用默認(rèn)的10.0即可)
Hide home button on iPhone X:此選項(xiàng)可在應(yīng)用程序運(yùn)行時(shí)隱藏 iPhone X 設(shè)備上的主屏幕按鈕。(這個(gè)屬性很有用尤其針對(duì)iPhone X)
Render Extra Frame on Pause:此選項(xiàng)可在應(yīng)用程序暫停時(shí)逐一發(fā)出其他幀扑毡。這允許你的應(yīng)用程序顯示圖形胃榕,用于指示應(yīng)用程序進(jìn)入后臺(tái)時(shí)的暫停狀態(tài)。
Enable Custom Background Behaviors:選擇當(dāng)用戶按下主屏幕按鈕以將應(yīng)用程序送入后臺(tái)時(shí)允許該應(yīng)用程序執(zhí)行的操作瞄摊。
- D:Variant map for app slicing (展開(kāi) 此項(xiàng)可查看腳本中配置的變體名稱(chēng)列表)
-
E:其他配置設(shè)置
-
Architecture :選擇目標(biāo)架構(gòu)勋又。
1.Universal支持所有架構(gòu):這是建議的選項(xiàng)。
2.Armv7:僅支持較舊的 32 位 ARM 架構(gòu)换帜。
3.Arm64:僅支持較新的 64 位 ARM 架構(gòu)楔壤。如果你的應(yīng)用程序僅適用于高端設(shè)備,則可能需要考慮選擇此選項(xiàng)惯驼。(蘋(píng)果商店審核只需要勾選arm64就可以)
Scripting Define Symbols:設(shè)置自定義編譯標(biāo)志蹲嚣。
Allow ‘unsafe’ Code:允許在預(yù)定義的程序集(例如递瑰,
Assembly-CSharp.dll
)中編譯不安全”的 C# 代碼-
Active Input Handling:希望如何處理來(lái)自用戶的輸入
1.Input Manager (Old) :使用傳統(tǒng)的 輸入設(shè)置。2.Input System (New) :使用新的輸入系統(tǒng)
- Both :同時(shí)使用兩個(gè)系統(tǒng)
-
- F:Optimization 優(yōu)化設(shè)置
Prebake Collision Meshes:用此選項(xiàng)可在構(gòu)建時(shí)將碰撞數(shù)據(jù)添加到網(wǎng)格隙畜。
Keep Loaded Shaders Alive :設(shè)置一個(gè)資源數(shù)組抖部,供播放器在啟動(dòng)時(shí)加載。
要添加新資源议惰,需要增大 Size 屬性的值慎颗,然后在出現(xiàn)的新 Element 框中設(shè)置對(duì)要加載的資源的引用。
AOT compilation options :預(yù)編譯附加選項(xiàng)(這有助于優(yōu)化構(gòu)建的 iOS 播放器的大小)
Strip Engine Code :如果希望 Unity Linker 工具刪除你的項(xiàng)目不使用的 Unity 引擎功能的代碼言询,請(qǐng)啟用此選項(xiàng)俯萎。此設(shè)置僅適用于 IL2CPP 腳本后端。
Managed Stripping Level :選擇 Unity 剝離未使用的托管 (C#) 代碼時(shí)的激進(jìn)程度运杭。當(dāng) Unity 構(gòu)建應(yīng)用程序時(shí)夫啊,Unity Linker 進(jìn)程可以從項(xiàng)目使用的托管 DLL 中剝離未使用的代碼。剝離代碼可以使生成的可執(zhí)行文件顯著減小辆憔,但有時(shí)可能會(huì)意外刪除正在使用的代碼撇眯。此設(shè)置允許你選擇 Unity 刪除未使用代碼時(shí)應(yīng)采取的激進(jìn)程度≡暝福可用選項(xiàng)為:Disabled叛本、Low沪蓬、Medium 和 High彤钟。
-
Script Call Optimization :選擇如何在運(yùn)行時(shí)選擇性地禁用異常處理以提高速度
1.Slow and Safe:使用完整的異常處理(使用 Mono 腳本后端時(shí)會(huì)對(duì)設(shè)備的性能有一些影響)。
2.Fast but no Exceptions :不為設(shè)備上的異常提供數(shù)據(jù)(使用 Mono 腳本后端時(shí)應(yīng)用程序運(yùn)行速度更快)跷叉。
Vertex Compression :設(shè)置每個(gè)通道的頂點(diǎn)壓縮逸雹。例如,可以為除位置和光照貼圖 UV 之外的所有內(nèi)容啟用壓縮云挟。導(dǎo)入對(duì)象的全局網(wǎng)格壓縮設(shè)置將覆蓋這些設(shè)置梆砸。
Optimize Mesh Data:此選項(xiàng)可從網(wǎng)格中刪除應(yīng)用于網(wǎng)格的材質(zhì)不需要的所有數(shù)據(jù)(例如切線、法線园欣、顏色和 UV)帖世。
- Stack Trace: 選擇在特定上下文中允許的日志記錄類(lèi)型。選中運(yùn)行腳本時(shí) (ScriptOnly)沸枯、始終 (Full) 或從不 (None) 條件下對(duì)應(yīng)于每個(gè) Log Type(Error日矫、Assert、Warning绑榴、Log 和 Exception)的復(fù)選框哪轿。
結(jié)語(yǔ)
寫(xiě)博文不易,希望大家多多支持翔怎,如有不對(duì)大家多多指正窃诉。寫(xiě)出來(lái)就是記錄杨耙、學(xué)習(xí)和成長(zhǎng)的過(guò)程。