
0. 前言
因?yàn)橹耙呀?jīng)上架過(guò)一款 App(Swift ?語(yǔ)言),所以開(kāi)發(fā)者賬號(hào)、證書(shū)這些都已經(jīng)搞定了,如果你是第一次上架 iOS 應(yīng)用,具體流程可以參考本文末尾列出的教程。這里主要記錄一下從 Unity 導(dǎo)出工程到上架 App Store 的過(guò)程,以及 Unity 和 Xcode 打包應(yīng)用時(shí)的設(shè)置。(** 聲明:游戲不需要版號(hào),不需要版號(hào) **)
1. Unity 端設(shè)置
1.1. Canvas
Canvas 的設(shè)置關(guān)系到 UI 的屏幕適配,雖然我的游戲是 iPhone Only,但是蘋(píng)果審核要求,游戲須在 Ipad 上能以 iPhone 的屏幕尺寸比例正常顯示,所以記得在 Canvas Scaler 中 Screen Match Mode 選擇 Expand, Unity 中游戲屏幕選擇 iPad,運(yùn)行游戲,看 UI 是否能正常顯示。(穩(wěn)妥起見(jiàn),Xcode 中也要用 iPad 模擬器再測(cè)試一遍。我就因?yàn)檫@里沒(méi)有進(jìn)行如上操作,游戲在 Ipad 上運(yùn)行時(shí), UI 顯示不正常,被打回來(lái)一次,不過(guò)話說(shuō)蘋(píng)果現(xiàn)在審核效率很高啊,前一天傳上去,第二天就審核了。)

1.2. Build Settings
File -> Build Settings , 這里沒(méi)啥好說(shuō)的,直接看下圖設(shè)置。

1.3. Player Settings
Player Settings 分為 5 部分,接下來(lái)分步講各部分的設(shè)置。

1.3.1. Resolution and Presentation
設(shè)置屏幕方向(橫屏/豎屏)、手機(jī)頂部狀態(tài)欄(手機(jī)電量等所在的欄),根據(jù)你的游戲表現(xiàn)方式進(jìn)行設(shè)置。

1.3.2. Icon
設(shè)置應(yīng)用圖標(biāo)(這一步在 Xcode 中操作也可以),我選擇在 Xcode 中設(shè)置 Icon,這里保持默認(rèn)設(shè)置。
1.3.3. Splash Image
設(shè)置游戲加載圖片,我發(fā)現(xiàn)這里如果保持默認(rèn)設(shè)置,在 Xcode 中編譯時(shí)會(huì)報(bào) xib 錯(cuò),所以 iPhone Launch Screen 和 iPad Launch Screen 的 Launch screen type 選擇 None,其他默認(rèn)設(shè)置。(加載圖片在 Xcode 設(shè)置。)

1.3.4. Debugging and crash reporting
保持默認(rèn)設(shè)置 。
1.3.5. Other Settings
設(shè)置 Bundle Identifier, Target SDK 選擇 Device SDK(發(fā)布和真機(jī)運(yùn)行要選擇 Device SDK,如果要用 Xcode 的模擬器運(yùn)行,Target SDK 選擇 Simulator SDK)。

AOT Compilation Options 填:nrgctx-trampolines=8192,nimt-trampolines=8192,ntrampolines=4096,具體原因參考這篇 Unity3D 游戲在 iOS 上因?yàn)?trampolines 閃退的原因與解決辦法。

以上設(shè)置完,就可以打包工程了。
2. Xcode 端設(shè)置
參考 Unity 官方論壇 Unity發(fā)布至iOS 10須知,Xcode 選擇了 7.3 版本。因?yàn)橐呀?jīng)生成過(guò)開(kāi)發(fā)者發(fā)布證書(shū),這一步直接從 [iOS]App上架流程[利用Archive進(jìn)行上傳]的第二步:“綁定你的 App 的 Bundle Identifier” 開(kāi)始。這里有兩點(diǎn)與教程不同:
- 按照教程步驟在網(wǎng)站注冊(cè)完 Bundle Identifier 并生成、下載描述文件、雙擊運(yùn)行描述文件后 ,出現(xiàn)以下問(wèn)題:在 Xcode 中打開(kāi)應(yīng)用,提示 Bundle Identifier 無(wú)效。
解決方法:在 Xcode 中重新命名 Bundle Identifier ,提示 No matching provisioning profiles found (找不到描述文件),點(diǎn)擊 Fix Issue,會(huì)在 https://developer.apple.com/account/ios/certificate/ ( Identifiers -> App IDs )生成新的 App ID ,然后再給這個(gè) Bundle Identifier 生成描述文件、下載、運(yùn)行。
Bundle Identifier.jpg - 另一點(diǎn)教程中沒(méi)有提到的是 Info.plist 中的 Bundle display name(手機(jī)上 App 圖標(biāo)下顯示的名字),在這一項(xiàng)的 Value 中輸入你的 App 的名字即可(注意這是針對(duì)單語(yǔ)言版本的簡(jiǎn)單處理方法,多語(yǔ)言有另外的處理方法 )。
其他設(shè)置按照教程走就可以了,最后把準(zhǔn)備好的各尺寸 Icon 和 LaunchImage 分別拖到 Images.xcassets 下的 AppIcon 和 LaunchImage 中(即 1.3.2 中的 Icon 和 1.3.3 中的 Splash Image),打包 ipa,用 Application Loader 上傳到 App Store。(參考 iOS App上架流程(2016詳細(xì)版))
游戲版號(hào)空著,不填東西。
歡迎試玩我的免費(fèi)游戲 炒房筆記 [iOS]。
參考
[iOS]App上架流程[利用Archive進(jìn)行上傳]
iOS App上架流程(2016詳細(xì)版)
