天天看點

《iOS 9應用開發入門經典(第7版)》——第1章,第1.3節運作iOS應用

本節書摘來自異步社群《ios 9應用開發入門經典(第7版)》一書中的第1章,第1.3節運作ios應用,作者 【美】約翰 雷(john ray),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

1.3 運作ios應用

獲得apple開發人員資格、加入付費的開發人員計劃、下載下傳并安裝ios開發工具後,您仍無法在裝置上運作您編寫的應用程式!為什麼呢?因為您還沒有建立開發供應配置檔案(provisioning profile)。

在很多開發指南中,都在開始開發後才介紹這個步驟。在我看來,編寫應用程式後您将希望能馬上在裝置中運作它。為什麼?因為看到編寫的代碼在自己的iphone或ipad上運作太爽了!

1.3.1 什麼是開發供應配置檔案

目前,apple對ios開發過程進行了控制,禁止開發小組将軟體随便釋出給任何人。其結果是,通過一個令人迷惑的過程将有關您(任何開發小組成員)和應用程式的資訊加入到供應配置檔案中。

開發供應配置檔案辨別了開發應用程式的開發人員,并包含應用程式id以及将運作該應用程式的每台裝置的唯一裝置辨別符。這種供應配置檔案隻能用于開發過程。為通過app store釋出應用程式或通過ad hoc釋出給一組測試人員(或朋友)做好準備後,需要建立一個釋出配置檔案(distribution profile,隻有加入了付費的開發人員計劃才能這樣做)。由于您剛涉足ios開發,是以現在還不需要釋出配置檔案。

1.3.2 配置用于開發的裝置

以前,建立僅用于開發過程的供應配置檔案令人沮喪且耗時,這個過程是在ios開發網站的provisioning portal部分完成的。在最新的xcode版本中,apple極大地簡化了這個流程,使其非常簡單,您隻需将apple id加入xcode,就可運作應用。

首先,啟動xcode,并選擇菜單xcode>preferences加載首選項。在視窗preferences中,單擊按鈕accounts。單擊左下角的按鈕+,并從出現的菜單中選擇add apple id。在出現的對話框中,輸入您的apple id,如圖1.8所示,再單擊add按鈕。完成後關閉preferences視窗。

接下來,確定你的裝置未鎖定且連接配接到了計算機,再選擇菜單window>devices。視窗最左欄的devices部分應列出了您的ios裝置,如圖1.9所示。在這裡看到您的裝置後,就說明準備就緒了!當您在idevice上運作應用時,xcode将自動為您建立所有的供應配置檔案和證書。如果沒有看到你的裝置,請确認你使用的是官方的apple lightning電纜和支援的最新ios版本。

《iOS 9應用開發入門經典(第7版)》——第1章,第1.3節運作iOS應用

圖1.9 打開xcode devices視窗,并查找您的裝置

在背景

您可能想知道在裝置上運作應用時發生的情況,這裡大緻地說一下。xcode将向ios developer portal添加一個唯一的辨別符。該辨別符辨別了您的身份,并用于對您生成的應用程式進行數字簽名,這稱為簽名身份(signing identity)。它還向apple注冊您的裝置,使其能夠運作您開發的應用程式(以及ios測試版)。

xcode将繼續與apple通信,以建立開發配置檔案和唯一的應用程式id,其中開發配置檔案名為ios team provisioning profile。應用程式id辨別了ios裝置密鑰鍊的共享部分,而您的應用程式有權通路這部分。

密鑰鍊是ios裝置的一個安全資訊存儲區,可用于存儲密碼和其他重要資訊。大多數應用程式都不共享密鑰鍊空間,是以不能共享受保護的資訊。然而,如果多個應用程式都使用相同的應用程式id,它們将能夠共享密鑰鍊資料。

就本書而言,沒有理由不讓其中的示例應用程式共享一個應用程式id,是以讓xcode為您生成id即可。實際上,xcode将建立一個“通用”應用程式id,适用于您使用team provisioning profile建立的每個應用程式。

最後,apple的伺服器将根據這些資訊以及連接配接的ios裝置的唯一辨別符,給xcode提供一個完全的供應配置檔案。這樣,首次在該ios裝置上運作應用時,xcode就會透明地将配置檔案上傳到這台裝置。

注意:

隻有加入了付費計劃的開發人員才能通路成員中心并直接修改其供應配置檔案。如果沒有加入付費的開發人員計劃,你将使用xcode來自動進行配置并部署到自己的裝置。

加入apple mac開發人員計劃時,也将建立并維護類似的配置檔案,用于将應用程式釋出到mac app store。最大的差别在于,不同于ios應用,可在任何計算機上運作mac應用程式。在mac開發人員計劃中,證書用于将應用程式釋出到mac app store以及測試apple托管的服務(如game center和icloud)內建。在ios開發中,要在除ios模拟器之外的其他裝置上運作軟體,必須安裝合适的證書。

提示:

配置好一台用于開發的計算機後,就可導出簽名身份和供應配置檔案,進而輕松地配置其他工作站。為此,可選擇菜單xcode>preferences打開xcode首選項對話框,再單擊工具欄中的accounts圖示。然後,單擊賬戶清單底部的齒輪圖示,并選擇export accounts。這個選項将所有的開發配置檔案和證書導出為一個包;還有一個import accounts選項,用于導入開發配置檔案和證書。

1.3.3 啟動應用

下面來運作這個應用程式。

1.在檔案夾hour 1/projects中,選擇檔案夾ipad或iphone,再打開檔案夾welcome,然後輕按兩下welcome.xcodeproj在xcode中打開一個簡單的應用程式。打開該項目後,xcode界面應該如圖1.10所示。如果不完全相同,也不要緊。

《iOS 9應用開發入門經典(第7版)》——第1章,第1.3節運作iOS應用

圖1.10 打開的項目應類似于這樣。如果不完全一樣,也不用擔心

打開項目時,如果使用的xcode版本比用來建立它的版本新,可能提示你對項目進行更新——根據最新的swift文法對代碼進行轉換。如果出現這種情況,請讓xcode進行必要的修改。很可能不會做任何修改。使用每個新的xcode beta版時,我們看到了這種提示;但還未遇到本書的ios 9項目需要做必要修改的情況。

2.確定将您的ios裝置連接配接到了計算機。如果你沒有ios裝置,請跳過這一步。

3.從xcode視窗左上角的下拉清單scheme選擇您的ios裝置,如圖1.12所示。這告訴xcode生成項目時将其安裝到該裝置,而不是在模拟器中運作。如果您沒有ios裝置,請根據您使用的項目版本選擇相應的模拟器。

通常隻能看到可運作目前應用程式的模拟器(iphone simulator或ipad simulator),但在圖1.11中,顯示了所有的模拟器。當您使用的是針對iphone的應用程式(它可在iphone和ipad上運作)或通用應用程式(這将在本書後面更詳細地介紹)時,将出現這種情況。這個螢幕截圖是使用該項目的iphone版本截取的,是以能夠看到所有的模拟器。

4.確定您的裝置已解鎖,再單擊xcode工具欄左端的run按鈕,幾秒鐘後,該應用程式将安裝到裝置并啟動。圖1.12顯示了該應用程式在4.7英寸的iphone(iphone 6)中的樣子。

5.單擊xcode工具欄中的stop按鈕退出該應用程式。現在可以退出xcode了,本章不會再使用它。

《iOS 9應用開發入門經典(第7版)》——第1章,第1.3節運作iOS應用

圖1.12 祝賀您安裝了自己建立的第一個ios應用程式

當您單擊run按鈕時,應用程式welcome将安裝到您的ios裝置并在其中啟動。它将一直保留在該裝置中,直到您手工将其删除。為此,隻需按住welcome圖示直到它開始搖擺,然後像删除其他應用程式那樣将其删除。開發證書将在120天後過期,到時使用該開發證書安裝的應用程式也将停止工作。

在首次使用新apple id的裝置上運作應用程式(或開發賬戶有問題)時,xcode可能發出有關裝置配置的警告。

如果你看到這樣的警告,隻需在提示時單擊fix,所有的警告和錯誤都将有望消失。

{檢視供應配置檔案!} 在您的裝置上運作應用後,便可檢視其中安裝的供應配置檔案。為此,可選擇菜單window>devices打開devices視窗,再右擊您的裝置并選擇show provisioning profiles。這将打開一個對話框,其中包含為您自動建立的ios team provisioning profile,如圖1.13所示。

{且慢,我有多台ios裝置!!} 前面讨論了如何配置單台用于測試的裝置,但如果要将應用程式安裝到多台裝置,該怎麼辦呢?沒有問題,隻需将其他裝置連接配接到計算機,并運作應用程式!這将自動配置它們。

如果使用的是付費的開發人員賬戶,而不是免費的apple id賬戶,apple允許您線上分發應用程式以便進行測試,而無需使用xcode來安裝它們。在這種情況下,你可在1年内注冊100台不同的裝置,讓它們能夠運作你的應用程式。

《iOS 9應用開發入門經典(第7版)》——第1章,第1.3節運作iOS應用

圖1.13 檢視在裝置上安裝的供應配置檔案

繼續閱讀