關於Unity釋出蘋果並真機測試的設定與連線
關於Unity釋出蘋果並真機測試的設定與連線
完全是一個蘋果盲,經過三天的摸索總算將unity的專案成功在ipad 上執行,故寫下本文以做記錄(本文適合對ios開發零接觸者)
以下是這次摸索的總結:
首先要說明一下:
原先學過android也用unity釋出過android的都知道android的釋出只是搭配好開發環境與試置好路徑即可在本機上釋出成apk.
本以為釋出成ios也應該是差不多的一個過程,但可惜如果那樣想就大錯特錯了!!
unity ios的釋出流程:
首先你要在mac機上釋出,機上要裝有xcode
在unity上選ios項釋出,釋出出來是不是一個app檔案,而是一個專案檔案其名稱是:Unity-iphone.xcodeproj.而檔案下面有如下檔案:
一、 移動裝置與xcode的連線
Xcode是蘋果公司向開發人員提供的整合開發環境,用於開發Mac OS X和iOS的應用程式。
而此時xcode就會自動開啟你釋出的專案檔案。這個時候,你要確保的 ios移動裝置已經成功與的電腦連線,並接你的移動裝置設定為開發機
如果設定成功,你的裝置就會在xcodex中顯示,如下:
這是我接入的 ipad,如果連線不成功,就會出現如下顯示:
此時你要到xcode裡面去將你的移動裝置設定(這裡在xcode6.1的情況下,如果是其他版本設定方式可能有點不同)
如下圖:
然後:
(如果你的移動裝置一直都無法連線到XCODE上,可能是你移動裝置的版本過高,xcode的版本低,此時應該升級XCODE版本,我就是遇到這個問題)
移動裝置與xcode的連線算是完成。
二 證書的申請與安裝
1 首先你要看一個開發者賬號,開發者賬號分為三種
iOS開發者計劃主要為iOS裝置進行App開發,比如iPhone和iPad等,iOS計劃也是目前蘋果整個開發者計劃型別中人數最多的。賬號型別分為個人(Individual)、公司(Company)、企業(Enterprise)、高校(University)四種類型,每年資費分別為$99、$99、$299、免費。根據賬號型別的不同,申請的條件和所具有的許可權也不同。
個人計劃只需要填寫個人資訊並通過蘋果稽核即可,公司計劃需要出示相應的公司資訊、營業執照等,企業賬號需要出示的資訊和公司賬號類似,高校計劃需要提供高校基本資訊,在註冊方式上蘋果開發者官網有詳細的流程。
在許可權上,個人賬號和公司賬號同為$99/年,但是在釋出署名上,公司賬號可以填寫公司或組織資訊(比如某某公司、某某工作室),而個人賬號只能預設顯示註冊時填寫的個人資訊,並且不能修改。另外,公司賬號提供團隊開發的模式,一個公司型別賬號可以管理新增開發者作為Team member協同開發。當然,也可以將個人賬號升級為公司賬號,前提是得提供相關公司資訊並且得郵件聯絡開發者支援中心或者撥打支援電話。企業賬號為$299/年,企業賬號和前兩者最大的不同在於不能將App釋出到App store,但可以將App放到內部伺服器上提供給企業內部任意一臺裝置進行安裝,並且不需要特別繫結Device ID。例如企業內部OA系統如果是用iOS裝置的話,那就適合這個計劃。最後一種是高校計劃,蘋果為鼓勵高校更多的參與到蘋果開發者計劃中來,特意推出這一項計劃,高校計劃具有在真機上測試等許可權,但不能將App釋出到App store。(本段來自http://www.cnblogs.com/zhw511006/p/3517229.html)
2 當有了個人賬號後就可以登入
然後點選log in-àios developer program -àcertificate,indentifiers&profiles
如下圖:
如果你從這裡:
登入後會進入以下畫面:
點選後會進入以下介面:
點選certificates-àdevelopment如下圖:
選中ios app development,此時如果該選項是灰色不可選的話,可能你的開發者證書已經有2個了,此時你可以點certificates--->all檢視
當已存在兩個時,你可以直接刪除一個不必要的,就可重進行上一步的選擇。
然後跟據提示進行下一步選擇。。。。。最後會出顯讓你上傳CRS證書Certificate SigningRequest(CSR)檔案,這個檔案是儲存在我們的mac的(keychain)裡面的,此檔案包含了(公鑰和私鑰),而我們的應用程式簽名是使用私鑰來簽名用公鑰來進行驗證, 而蘋果生成的Certificate只包含了公鑰,當你用自己的私鑰簽名後,蘋果會用公鑰來進行驗證,確保是你自己對程式簽名而不是別人冒充的。
如下:
此時,回到你的mac介面,開啟鑰匙串訪問,如下圖:
--à申請本地證書(電子郵件一般寫你開發者賬號,名稱隨意,儲存到你熟悉的一個位置)繼續。。。。
申請完後,回到網頁剛才需要上傳證書的頁面,將該證書上傳。最後開發者證書的申請算是完成。申請完成後你再將證書下載下來,雙擊或點選開啟,就可安裝到你的電腦上
如下圖:
此時算是說明你的開發者證書已經安裝好.
因為是真機測試,ios開發不同於android,android的真機測試無論任何手機,只要你的android開發環境配置好,一般隨便拿一個andriod手機來測試都不會有問題,如果有問題那最可能的就是本身程式問題。而ios開發的真機測試,測試前不僅要先將你的手機設定為開發機,還要到ios開發網站繫結UDID(每臺ios機所唯一標識),過程如下:
———>(名字隨便取, UDID不知道的話,可能通過xcode-àwindow-àdevices檢視identifier)
注意每個機子對應每個開發者賬號只需繫結一欠,而個人開發者賬號只能繫結100臺真機。
測試機的繫結算是完成。
然後是開發應用App ID的繫結
如下圖是我繫結的:
操作方法如下:
點選右上解的新增(+)
這裡要注意bundle id要與xcode下的 bundle identifier的一致,如下:
還要與unity下的bundle identifier一致,如下:
App ID的繫結算是完成
設定Provisioning Profile一個Provisioning Profile包含了上述所有內容 Certificate && App ID && Device, 這個Provisioning Profile檔案會在打包時嵌入到.ipa的包裡,如下圖:
所以一臺裝置上執行應用程式的過程如下(以Developer Provisioning Profile為例):
1 檢查app 的 bunld ID 是否 matches Provisioning Profile 的 App ID
2 檢查 app 的 entitements 是否 matches Provisioning Profile 的 entitements
3 用Certificate來驗證簽名簽名
4 檢查此裝置的UDID是否存在於 Provisioning Profiles中(僅在非釋出證書中)
申請如下:
繼續。。。。
當都整個流程操作完了之後將所生成的證書下載下來,雙擊或點找開即可安裝。
當安裝完後,provisioning profile的設定算完。
此時回到xcode
這裡對應你移動裝置ios版本
然後到build settings裡面設定
設定到這裡就算完成啦〜〜〜
但有時,從unity釋出出來有項中在xcode6.1會報如下錯:
解決方案如下:
將
#include <OpenGLES/ES2/gl.h>
改成
#include <OpenGLES/ES2/glext.h>
編譯通過。
Unity釋出出來的ios專案如下:
會出現沒有LaunchImage.launchimage資料夾,如果XCODE上報測試成功,但移動裝置上卻無法開啟應用,很可能就是缺少了這個資料夾(缺少的原因可能是xcode上launchimage沒有設定)。