天天看點

《iOS程式設計指南》——2.5節準備你的iOS裝置

本節書摘來自異步社群《ios程式設計指南》一書中的第2章,第2.5節準備你的ios裝置,作者 【美】alasdair allan,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

2.5 準備你的ios裝置

ios程式設計指南

在裝置上部署應用之前,你需要按照圖2-5所示的步驟來做相關配置。

《iOS程式設計指南》——2.5節準備你的iOS裝置

如果你已經加入了ios開發者計劃的标準版或者企業版,你現在就可以生成相應的證書和描述檔案(provisioning profile)了,通過這個證書和描述檔案,你才能把下一章中的測試程式安裝到你的ios裝置上。

證書和描述檔案

xcode建構工程的時候需要使用開發證書來對二進制檔案進行簽名,這個開發證書同時也是你作為ios開發者的唯一辨別。xcode會從mac os x的keychain程式裡自動尋找這個開發證書以及另外一個名為wwdr intermediate certificate的證書,這個校驗證書也是從developer portal上下載下傳的。

描述檔案将開發證書(也就是開發者)、裝置以及ios應用的app id綁定在一起,用于唯一辨別安裝在開發裝置上的應用。要把使用了開發者證書簽名的應用安裝到ios裝置,你必須将相應的描述檔案也同時安裝到這個裝置上才行。

目前版本的xcode會自動建立和更新開發ios應用所需的證書和描述檔案。不過我還是建議你至少在第一次建立證書和描述檔案的時候手動做一下,這樣你可以弄明白整個過程,了解xcode在背後幫你做了些什麼事情,一旦xcode出了問題也可以自己來手動搞定,而且xcode也的确經常出問題。

2.5.1 建立開發證書

首先,你需要的是一個開發者證書和蘋果公司的wwdrintermediate證書。在從provisioning portal申請開發者證書之前,你需要先使用keychain access應用程式建立一個證書簽名請求(csr)。

在系統的/applications/utilities目錄下找到keychain access應用程式,啟動之後依次選擇keychain access→preferences菜單,打開certifications頁籤,確定online certificate status protocol(ocsp)和certificate revocation list(crl)兩個選項都處于off狀态,如圖2-6所示。

《iOS程式設計指南》——2.5節準備你的iOS裝置

接着,在keychain access的菜單中點選certificate assistant→request a certificate from a certificate authority,輸入之前注冊過程中用作apple id的電子郵件位址,如圖2-7所示。選擇“save to disk”單選框并勾選“let me specify key pair information”,keychain access應用程式會将這個證書請求儲存為檔案,是以會彈出一個視窗讓你輸入檔案名。

接受預設參數(a key size of 2,048 bits using the rsa algorithm)就好,然後單擊繼續按鈕,應用程式會生成一個csr檔案并儲存到磁盤。檔案會儲存到你之前輸入檔案名稱時指定的路徑(預設情況下是儲存到你的桌面)。

《iOS程式設計指南》——2.5節準備你的iOS裝置

下一步,登入到ios dev center,點選provisioning portal連結,新打開的頁面是管理與你的開發者賬号相關聯的證書和裝置的地方。1

點選certifications連結,打開管理證書的頁面,進入deverlopment标簽,點選request certificate按鈕,根據引導上傳你剛生成的csr檔案。

如果你是以個人身份加入ios開發者計劃的,系統會自動準許你的證書請求;如果你隻是開發團隊的一員,就需要團隊的管理者審批并通過你的證書請求,之後系統才會生成證書并允許你下載下傳。

圖像說明文字如果你點選approve之後沒有看到下載下傳選項,點選development标簽來重新整理頁面,就應該有了下載下傳選項。

通過審批之後,下載下傳你的個人證書以及wwdrintermediate證書并安裝到mac os x系統的keychain中。依舊是在development标簽下,點選個人證書右側的download按鈕,然後右鍵點選wwdrintermediate證書,選擇儲存連結檔案到磁盤。

将這兩個證書下載下傳到本地之後需要把它們安裝到mac os x系統裡,輕按兩下證書檔案,keychain access程式就會自動啟動,keychain access會彈出确認對話框讓你再确認一遍是否要安裝證書檔案,直接點選确認按鈕就可以了。

圖像說明文字 如果系統中有多個keychain,安裝證書的時候會有下拉框要求選擇裝在哪個keychain裡,選擇預設的那個就好,通常叫做login。在keychain access程式的左上角使用粗體顯示的就是預設keychain,最好是保持login為預設keychain,如果login不是預設的,可以通過菜單file→make keychain“login”default來将其修改為預設的。如果不把證書安裝到預設keychain裡,xcode就找不到證書,是以将無法使用證書進行二進制簽名,也就無法将你的應用安裝到ios裝置上去。

打開keychain access應用程式,然後點選左側下方category中的certificates分類,你可以看到所有成功地安裝到了你的keychain中的證書。在這裡,你應該可以找到你自己的開發者證書和蘋果公司的wwdr證書這兩個證書,如圖2-8所示。

《iOS程式設計指南》——2.5節準備你的iOS裝置

keychain access程式顯示了新安裝的證書,這兩個證書是使用xcode開發ios應用并部署到ios裝置上是必須的

2.5.2 擷取開發裝置的udid

将ios裝置連接配接到mac計算機,打開xcode,選擇window→organizer菜單,打開organizer視窗,裡面會列出已連接配接到你的計算機的裝置。

為你的開發裝置建立描述檔案需要使用這個裝置的唯一裝置标示符(uuid),在左側菜單中選中這個裝置,就是那40個字母長的字元串,右鍵複制。

回到provisioning portal,點選devices,選擇manage标簽,點選add device按鈕,輸入裝置名稱和uuid,點選submit按鈕,現在這台裝置就注冊好了。

《iOS程式設計指南》——2.5節準備你的iOS裝置

2.5.3 建立app id

app id也是建立描述檔案所必需的,描述檔案和剛才建立的證書不同,證書是放在mac系統的keychain裡面的,xcode使用這個證書來給ios應用的二進制檔案簽名,而描述檔案是用來綁定開發證書、應用和裝置的,通過xcode安裝到ios裝置上,ios系統會對程式簽名和描述檔案進行校驗,校驗成功後應用才能正常運作。

在ios developer program portal裡點選app ids,選擇manage标簽,點選new app id按鈕,輸入app id的名稱,名稱可以随便取,不過最好是能友善你了解的。這是首次建立app id,是以在boundle seed id中選擇generate new。

最後輸入一個bundle identifier,這個必須是唯一的,大多開發者選擇将自己的域名反過來寫作為bundle identifier。例如我的域名是babilim.co.uk,于是我把uk.co.babilim.*作為我的bundle identifier。

星号(*)出現在結尾用作通配符,這意味着你可以讓多個應用共用這一個app id。如果不用通配符就需要為每個應用都建立一個新的app id,相應的描述檔案也要新建立一個,否則應用就無法在你的裝置上運作。使用通配符也就意味着即使你有很多應用,也隻需要建立一個描述檔案就可以了。

從技術層面上來說,這種方式會讓ios裝置中的多個應用共享裝置中keychain的同一部分,我們接下來再深入地談一談這個問題,因為雖然使用通配符聽起來很贊,但問題是使用這種app id的應用無法使用蘋果的push notification服務以及應用内支付服務。

點選submit按鈕,網站會生成一個新的10個字母的bundle seed id,将這個id和之前你填寫的bundle identifier連接配接起來,就是你的app id了。

你最好把這個bundle identifier記錄下來,當你把你的應用部署到ios裝置的時候會用得到,第3章結尾的地方會提到這個問題。

2.5.4 建立移動描述檔案

接下來可以建立移動描述檔案了2,進入provisioning portal的provisioning頁面,選擇development标簽,點選new profile按鈕。

輸入名稱,這裡我強烈建議使用“developer profile”,因為之後你還要建立其他多個描述檔案,包括用于釋出到app store以及通過ad hoc方式來釋出測試版本所需要的描述檔案,這樣做可以防止名稱混淆。

選中你需要關聯的證書前的選擇框,如果你是個人開發者,這裡應該隻有一個可選的證書,就是你剛剛用keychain access申請的那個。

選擇剛剛建立的app id,再選擇你的開發裝置(如果不止一個開發裝置的話,可以選擇多個),這個描述檔案隻會認為選中的這些裝置是合法的。前面提到過xcode會把描述檔案安裝到裝置上,而用這個描述檔案中的證書簽名的應用就可以在這台裝置上運作。

如果你在這裡選錯了或者少選了裝置也不要緊,之後可以随時在已有的描述檔案裡添加裝置,不過那樣會重新生成描述檔案,然會還要再一次下載下傳到本地并更新本地的描述檔案才行。

點選submit來生成新的描述檔案,這個是用來開發的,在本書的後面部分我們會讨論用于釋出的描述檔案怎麼生成。這個時候描述檔案的狀态會變成“pending”,點選development标簽來重新整理頁面直到生成成功。

描述檔案生成之後,點選download下載下傳到你的計算機上,有多種安裝方法,最簡單的是把.mobileprovisioning檔案拖放到mac系統的dock上的xcode圖示上。

2.5.5 讓你的裝置支援開發

這是在開始寫代碼前的最後一步了,回到xcode,選擇菜單window→organizer,從左側欄選中你的開發裝置,點選use for development按鈕。如果xcode沒有成功地對你的裝置進行注冊,則把資料線斷開,然後重新連接配接一下。如果還是不行,嘗試把裝置重新開機一下,然後重試一遍。你可能需要重置裝置,這取決于裝置上安裝的作業系統的版本以及sdk的版本,在xcode的organizer視窗中可以重置。但是,這個過程中你将丢失裝置上已有的資料。如果真的需要重置,你可以通過itunes或者icloud将你的資料先備份一下。

如果你有錢的話建議你單獨買一個裝置專門用于開發,将來你可能會安裝ios的beta版來了解新版本的新特性以及預先做新版本相容準備,而beta版一般都很不穩定。如果你在日常生活中非常依賴于通過iphone來和其他人聯系,那麼你很可能就更不想用這個iphone來同時做開發了。

安裝了描述檔案之後可以檢查一下xcode是否已經将描述檔案同步到裝置中了,打開裝置,選擇“設定→通用→描述檔案”(settings→general→profile)就可以檢視到了,如圖2-10所示。

《iOS程式設計指南》——2.5節準備你的iOS裝置

現在檢查一下是不是全部都能正常工作了,在xcode的organizer視窗裡檢視左側邊欄中裝置名稱右側的訓示燈的顔色,綠色就表示一切就緒,黃色表示存在問題。點選裝置的名稱,在主面闆中會顯示該裝置已安裝的描述檔案,如圖2-11所示。

《iOS程式設計指南》——2.5節準備你的iOS裝置

xcode的organizer視窗顯示我的iphone 5已安裝好描述檔案并已做好開發準備

恭喜了,你已經安裝好了所有必需的證書和描述檔案,現在可以在你的裝置運作你編寫的代碼了。

1譯者注,随着蘋果對系統的更新,ios dev center也會更新,是以網頁的界面可能會發生變化,請讀者不要拘泥于本書所描述的按鈕或連結的名稱和位置。

2譯者注,随着蘋果對系統的更新,ios dev center也會更新,是以網頁的界面可能會發生變化,請讀者不要拘泥于本書所描述的按鈕或連結的名稱和位置。

繼續閱讀