Titanium無法直接和iOS Device溝通,需要透過iTunes安裝app到device上
而要用iTunes安裝app,需要provisioning profile
provisioning profile需要有app ID和device ID
而app ID需要有apple dev帳號和certificate才能產生
這篇會從頭開始說明整個作法
第一步,請先付dev 稅然後登入apple dev帳號..
接下來可以參照 http://fstoke.me/blog/?p=1805 這邊的說明並建立profile
名詞說明:
certificate: 簽章檔案,每個dev account應該只會有兩組,分別對應到dev/dis環境,也就是說每個環境一組對應的certificate
device ID: 每個iOS device的唯一序列號,可以從xcode中的organizer看到
app id: 每個app的id,對應bundle identifier(如com.abc.app123)
provisioning profile: 以開發環境來說,就是一組綁定app ID+指定device id的檔案
白話一點的解釋,每個dev帳號會有對應dev/dis環境的簽章(certificate)
每個dev帳號可以有多個不同的app ID(程式)
而不同的app ID可能在不同機器上測試,所以用Provisioning profile設定不同的app可以在哪些機器上測試
因此要安裝app到測試機器上面時,需要先在機器上安裝profile,然後機器就可以跑對應的app
當profiile設定完成後
就可以將profile配置給Titanium,讓Titanium可以安裝程式到裝置上(記得先下載)
在Titanium studio 1.0.8中,profile的安裝和以前不太一樣
請參考下圖的位置,選擇iOS device
接著會出現下圖的畫面
由於我是import別人的專案
該專案裡面已經有另一個porfile, 我必須要先移除才能使用另一個profile, 不確定是bug或我的問題
到這邊為止,算是大部分都完成了
接下來就是將機器連接到電腦上,選擇 Run iOS device
Titanium studio會開啟iTunes sync執行
這邊建議先clean build後重新compile一次
接下來,到iTunes中,設定該裝置的應用程式為自動同步新的應用程式
不然就自己手動勾選應用程式
理論上之後的修改應該會自動更新,不用每次都重新勾選
到這邊為止,就大功告成了
上圖中的二組記錄代表的是 certificate, 一組是對應到dev環境,一組是dis用
由於剛開始配置,所以在iOS provisiong portal中,provisioning profiles中還沒有對應的profile
這邊要注意的是,一個dev 帳號在一個環境(dev/dis)中只能有一組certificate
另外, request檔案(.CSR)在設定app id的SSL環境中也會用到,記得保存起來日後使用(雖然也可以重新建立)
device部分不用講,使用xcode測和設定即可,如果是其他人的機器,取得device id自行設定即可
app id是application 的ID記錄,由bundle identifier和帳號組成
一組可以用於push用的設定,基本上不同的程式應該都要有不同的app id設定
app id和push,iCloud有關,建議在建立app id之前,先把相關的certificate建立好,避免需要手動設定的情況發生
A Provisioning Profile is a collection of digital entities that uniquely ties developers and devices to an authorized iOS Development Team and enables a device to be used for testing.
APP ID可以分別設定對應不同環境(dev/dis),所以會有如同以下對應不同環境的push用SSL簽章(使用.CSR檔案申請)
其他兩筆是key錯的資料,完全不能使用
Provisioning 是一組機器+dev的紀錄,可以讓指定的測試用的機器執行特定程式
因此Provision設定時需要指定app ID和device ID的搭配
設定好後,就可以開啟xcode安裝provision
這邊重複一次certificate/app id/provisioning profile的說明
certificate是帳號的數位簽章,分成dev/dis兩種環境
app id是不同App的簽章
provisioning profile用於1. 測試環境:這類型的profile會記錄device id+app id
- 正式環境
如果是新的專案,在選擇使用iOS device時,出現數個步驟讓使用者提供provision
如果已經有provision, 直接選擇倒數第二個的upload,讓Titanium studio將provision檔案和專案連結就好
沒有留言:
張貼留言