Unity3D發佈打包系列之(四)——IOS打包發佈

首先,Unity打包IOS必須條件:ios

Unity3D下載了IOS平臺
下載了XCode軟件(必須是MacOS 系統)
在蘋果開發者中心註冊了開發者賬號服務器


第一步:註冊蘋果開發者賬號;app

Unity3D下載IOS平臺和XCode下載就不介紹了,直接開始開發者賬號申請
注意:賬號是收費的,一個是我的版或者公司版,一個是企業版(瞭解到APPLE的政策是,要發佈到APP STORE必須用99美圓的我的版或公司版Apple Developer Programs,要在非商店外下載只能使用299美圓的企業版iOS Developer Enterprise)ide

註冊地址:https://developer.apple.com/membercenter/index.action
註冊說明:https://developer.apple.com/cn/support/app-account/測試

註冊前準備:ui

  • 2個郵箱(299美圓的必須是公司域名郵箱)
  • 鄧白氏編碼DUNS

註冊流程:
註冊APPLE ID → 註冊鄧白氏編碼 → 獲取鄧白氏編碼後繼續驗證APPLE ID的公司信息 → 等待APPLE官方審覈資料 → 審覈經過,繳費 → 收工 編碼

關於鄧白氏編碼3d

  • 一個鄧白氏編碼能夠註冊多個APPLE 開發者帳號
  • 經過APPLE的連接申請鄧白氏編碼,基本上一週左右就可得到。其中鄧白氏那邊會打電話給你覈實身份,而後發郵件給你要補充公司信息,這個公司信息到時候APPLE驗證DUNS編碼時會用到,兩邊最好一致,不然修改麻煩。
  • 新的鄧白氏編碼,請注意嘗試次數不要超過3次,超過次數編碼會被鎖住,解鎖及註冊方面問題請找蘋果客服

第二步:註冊完成後調試

  1. 登陸開發者帳號
    Unity3D發佈打包系列之(四)——IOS打包發佈
  2. 下載開發者證書(開發者證書(分爲開發和發佈兩種,類型爲iOS Development,ios Distribution),這個是最基礎的,不管是真機調試,仍是上傳到appstore都是須要的,是一個基證書,用來證實本身開發者身份的)
    Unity3D發佈打包系列之(四)——IOS打包發佈

注意一下幾點:code

  • appID,這是每個應用的獨立標識,在設置項中能夠配置該應用的權限,好比是否用到了PassBook,GameCenter,以及更常見的push服務,若是選中了push服務,那麼就能夠建立生成下面第3條所提到的推送證書,因此,在全部和推送相關的配置中,首先要作的就是先開通支持推送服務的appID;
  • 推送證書(分爲開發和發佈兩種,類型分別爲APNs Development ios,APNs Distribution ios),該證書在appID配置中建立生成,和開發者證書同樣,安裝到開發電腦上;
  • Provisioning Profiles,這個東西是頗有蘋果特點的一個東西,我通常稱之爲PP文件,該文件將appID,開發者證書,硬件Device綁定到一起,在開發者中心配置好後能夠添加到Xcode上,也能夠直接在Xcode上鍊接開發者中心生成,真機調試時須要在PP文件中添加真機的udid;是真機調試和必架必備之珍品;
  • 日常咱們的製做流程通常都是按以上序列進行,先利用開發者賬號登錄開發者中心,建立開發者證書,appID,在appID中開通推送服務,在開通推送服務的選項下面建立推送證書(服務器端的推送證書見下文),以後在PP文件中綁定全部的證書id,添加調試真機等;


*CRS文件建立:
Unity3D發佈打包系列之(四)——IOS打包發佈
或者
Unity3D發佈打包系列之(四)——IOS打包發佈
進入
Unity3D發佈打包系列之(四)——IOS打包發佈
CRS文件已經生成好了

3.進入開發者設置界面
Unity3D發佈打包系列之(四)——IOS打包發佈
* certificates(證書)

選中All,接着點擊右上角的加號,咱們先來建立開發者(真機調試)證書,提交證書和調試證書建立步驟幾乎同樣
Unity3D發佈打包系列之(四)——IOS打包發佈
這裏咱們Development類型證書,(用於真機調試)。選中以後進入下一個頁面:
Unity3D發佈打包系列之(四)——IOS打包發佈
這裏會提示你選擇建立好的CRS文件,選擇上面建立好的CRS文件,點擊continue提交,就生成證書
Unity3D發佈打包系列之(四)——IOS打包發佈
下載下來保存到你對應得文件夾就行了,暫且不要雙擊安裝,後面會講解安裝證書和配置文件
注意:證書最好不要建立多個,不易於管理

* identifiers(App ID)

配置App的Bundle ID,就是和XCode中對應的那個Bundle ID, 點擊左邊的視圖identifiers下面的App IDs
Unity3D發佈打包系列之(四)——IOS打包發佈
點擊標記2,添加AppID,設置AppID名稱
Unity3D發佈打包系列之(四)——IOS打包發佈
設置Bundle ID
Unity3D發佈打包系列之(四)——IOS打包發佈
生成Bundle ID 的設置
Unity3D發佈打包系列之(四)——IOS打包發佈
App ID建立好以後,不須要去動它,也會在後面用到

* Devices(設備ID)**

添加你要真機調試的設備ID
Unity3D發佈打包系列之(四)——IOS打包發佈
設置手機名稱和UDID,UDID獲取經過手機鏈接電腦,打開iTunes軟件,點擊序列號字母處,顯示的就是UDID
Unity3D發佈打包系列之(四)——IOS打包發佈

* profiles(配置文件)**

配置證書的最後一步,生成profiles,這個profiles其實最終是安裝到Xcode裏的,它關聯證書、App ID、和Device ID,把前三者結合起來,生成一個可安裝的配置文件,用於Xcode進行真機調試,用於發佈應用也同樣,在進行App打包生成ipa文件時,也會去驗證你的證書和profiles,這也是你可否打包成功的關鍵。
點擊第四個模塊(profiles)下面的All選項,建立profiles:
Unity3D發佈打包系列之(四)——IOS打包發佈
Unity3D發佈打包系列之(四)——IOS打包發佈
Unity3D發佈打包系列之(四)——IOS打包發佈
Unity3D發佈打包系列之(四)——IOS打包發佈
Unity3D發佈打包系列之(四)——IOS打包發佈
開發者證書的配置完成。

注意:最終配置完成後只需下載兩個文件:一個就是第一個模塊裏面的開發者真機調試證書、而後就是第四個模塊裏的profiles文件,把這兩個文件下載下來,保存好避免遺失,以便接下來在Xcode中配置和使用。(PS 放好這兩個文件,記住他們的位置)


Run in Xcode

第三步:Unity打包;
切換到IOS平臺,進行設置
Unity3D發佈打包系列之(四)——IOS打包發佈

  • Run in Xcode:選擇你電腦上安裝的Xcode版本,或者默認Latest version,默認是你電腦上 最新版本
  • Run in Xcode as:選擇Debug或者Release版本;PS:和最後Xcode打包時選擇保持一致

點擊Player Settings ->Other settings 設置

  • 包名設置:和安卓設置方法同樣,格式:com.公司名.工程名。PS:與蘋果開發者註冊時Bundle ID保持一致。
  • 設備型號設置:設置只能iPhone用仍是iPad用或者兩個都能用,以及設備最低的系統版本設置
  • 設置其餘你須要的設置
    Unity3D發佈打包系列之(四)——IOS打包發佈
    最後,點擊Build進行打包,設置包文件夾名,保存


第四步:用你打包時候選的Xcode版本打開你剛纔Build的包
其實,Xcode已經幫咱們作了不少配置,只須要咱們設置如下配置:
1.點擊 Product->Scheme->Edit Scheme 或者進入下面界面,並點擊Archive,確保Build Configuration 爲 你在Unity中的選擇保持一致
Unity3D發佈打包系列之(四)——IOS打包發佈
Unity3D發佈打包系列之(四)——IOS打包發佈

  • Display Name:設置你的App名字
  • Bundle Identifier:設置Build ID,來自你在註冊蘋果開發者賬號時Bundle ID保持一致。而且與Unity保持一致
  • Version:App版本(與Unity設置保持一致)
  • Build:版本號(與Unity設置保持一致)

2.TARGETS->Identity->Team Team選擇你註冊時對應的App ID 賬號。
Unity3D發佈打包系列之(四)——IOS打包發佈

PS:能夠不用選擇註冊相應證書時對應的 Apple ID 賬號,並且選擇別的對應/非對應賬號也都沒問題。

3.TARGETS->Build Setting->Code Signing
Unity3D發佈打包系列之(四)——IOS打包發佈
基本不用設置,默認配置好的,若有須要可更改設置
其中下方的 Provisioning Profile 可使用默認的 Automatic,也能夠指定對應的描述文件。(通常咱們使用Automatic)
注意:若是用USB將手機鏈接到電腦,手機端打開開發者模式,選擇鏈接的手機,直接點擊Xcode運行,就會打包到你鏈接的手機上,後續步驟可省略。




4.Archive設置;只能選擇iOS Device,選擇其餘模擬器是不能Archive的
Unity3D發佈打包系列之(四)——IOS打包發佈
等會,Archive會彈出
Unity3D發佈打包系列之(四)——IOS打包發佈
5.Export 導出;點擊上圖中的「Export」,以下所示,很顯然第一個選項是發佈app的,不要點,那是我的開發者帳號能夠乾的事情。

Unity3D發佈打包系列之(四)——IOS打包發佈
上圖四種選項:

  • Save for iOS App Store Deployment:保存到本地 準備上傳App Store 或者在越獄的iOS設備上使用
  • Save for Ad Hoc Deployment:保存到本地 準備在帳號添加的可以使用設備上使用(具體爲在開發者帳戶下添加可用設備的udid),該app包是發佈證書編譯的(The app will be code signed with the distribution certificate.)
  • Save for Enterprise Deployment:這種主要針對企業級帳戶下 準備本地服務器分發的app
  • Save for Development Deployment:針對內部測試使用,主要給開發者的設備(具體也爲在開發者帳戶下添加可用設備的udid)。該app包是開發證書編譯的(The app will be code signed with your development certificate)

點擊Next,繼續,選擇存放路徑,繼續
Unity3D發佈打包系列之(四)——IOS打包發佈
點擊Next,IPA就打包成功了。


附:app須要使用手機的某些功能或者應用的時候,須要受權才能夠訪問,下面將展現一些info.plist上經常使用的一些受權。
Unity3D發佈打包系列之(四)——IOS打包發佈
bool類型是YES的,這個是容許訪問http的網址

下面是以上受權的代碼形式,能夠直接拷貝到info.plist文件中:

<key>NSAppTransportSecurity</key> 
<dict> 
<key>NSAllowsArbitraryLoads</key> 
<true/> 
</dict> 
<key>NSContactsUsageDescription</key> 
<string>請求訪問通信錄</string> 
<key>NSMicrophoneUsageDescription</key> 
<string>請求訪問麥克風</string> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>請求訪問相冊</string> 
<key>NSCameraUsageDescription</key> 
<string>請求訪問相機</string> 
<key>NSLocationAlwaysUsageDescription</key> 
<string>始終訪問地理位置</string> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>在使用期間訪問地理位置</string> 
<key>NSCalendarsUsageDescription</key> 
<string>請求訪問日曆</string> 
<key>NSRemindersUsageDescription</key> 
<string>請求訪問注意事項</string> 
<key>NSBluetoothPeripheralUsageDescription</key> 
<string>請求訪問藍牙</string> 
<key>ITSAppUsesNonExemptEncryption</key><false/>

注:至於TestFlight測試和上線,後續再介紹。

相關文章
相關標籤/搜索