Related Posts Plugin for WordPress, Blogger...

5-26 Building Game To An iOS AdHoc

本章要來介紹怎麼把遊戲發佈到iOS AdHoc,AdHoc模式可讓我指定的iOS裝置安裝App進行測試,安裝方法則是將AdHoc版本的ipa檔案上傳到網路空間,供測試者下載。另外,如果是想要建立Distribution版本,亦或是單純想Debug的話,接下來講解的步驟都大同小異,僅在某些細節處有點不一樣而已,所以也可以參考看看下列的步驟唷!

首先,紀錄我目前Build的環境:

  • Macbook Pro 2016 (OS X 10.12.6)
  • Xcode 9.2
  • Unity 2017.2.0f3 Personal
  • iPhone 6 (11.2.6)

由於Unity產生的專案無法使用模擬器測試,麻煩大家也要準備可供測試的iPhone或iPad嘍!另外提供Unity的官方教學網址,也可以看看這個教學:

以及Unity官方提供的iOS故障排除教學,過程中有遇到什麼障礙也許能在這邊找到答案:

首先,在Unity選擇File/Build Settings。

在Build Settings選擇要建立的場景,確定Platform選擇iOS,然後按下Player Settings。

Bundle Identifier輸入自己的遊戲的ID。因為本篇文章不會從頭講解整個iOS App輸出的架構,包含帳號申請、購買、建立App ID跟Provisioning Profile的流程等等,如果不知道的話,請先參考網路上的其他教學唷。另外,前面的Unity官方教學中有教怎麼用免費的Apple帳號進行測試!

請確認Bundle Identifier與App ID是否一致。


接著建立Provisioning Profile,雖然我的Type選擇iOS Distribution,但是後面XCode進行Archive的時候,可以再選擇要AdHoc還是要Distribution,是可以共用的,但這是為了方便。


回到Unity,按下Build按鈕。

開啟輸出後的XCode專案。

點選專案名稱Unity-iPhone。

我的習慣是自己指定Provisioning Profile,所以我會將Automatically manage signing關掉。

然後我自己選擇Noliah Fantasy AdHoc。

接著選擇Product/Archive。

等待Compile結束,檔案比較多需要等久一點。

輸出完成以後,就可以選擇要Upload to App Store,或是選擇Export輸出ipa檔案,這邊我選擇Export。

跳出一個視窗,選擇Ad Hoc,如果你剛剛是選擇要Upload的話,要選App Store唷。

接著是App瘦身的選項,相關資訊可以看下列教學:
https://www.appcoda.com.tw/app-thinning/

根據上述的解說,針對Bitcode進行說明:
“所謂的位元碼( Bitcode )基本上就是 Apple 在 App 被下載前先將 App 進行優化的新方法。位元碼能夠讓 App 在任何裝置上都盡可能又快速又有效率。位元碼會自動使用最先進的編譯器來編譯 App ,並且針對特定的架構(亦即針對 iPhone 6s 和 iPad Air 2 等 64 位元處理器的 arm64 架構)進行優化。位元碼藉由縮減不同架構的優化程式碼來達到縮小體積的目的,此外也只會下載相關的優化程式碼。”

如果目前要用AdHoc模式進行測試的話,可先將Rebuild from Bitcode關閉,要額外編譯Bitcode需要耗費大量的時間,App Thinning則保持None。

但若是要上傳到App Store,則非常建議要打開Rebuild from Bitcode,App Thinning則選擇All compatible device variants,該選項會依照不同的iOS裝置產生不同的ipa檔案。如此一來,便能使用資源分割與位元碼分割。

然後選擇Distribution certificate與Noliah Fantasy AdHoc。

假如剛剛有選擇打開Bitcode的話,在這一步就需要等超久。

產生ipa檔案了。

然後我常用這個平台Diawi方便我部署AdHoc,這個不是廣告........單純覺得這個平台很方便。
https://www.diawi.com/



上傳成功以後,會出現安裝網址與QRCode。


然後用手機掃描QRCode開啟網址吧,按下Install application按鈕。

會跳出一個訊息框,請按下安裝鈕。

接著等待App下載完成。

可以在手機上玩遊戲了!




留言