天天看點

《iOS程式設計指南》——2.4節安裝iOS SDK

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

2.4 安裝ios sdk

ios程式設計指南

在本書編寫的時候,xcode開發工具和ios sdk的最新發行版本可以從mac app store上一并下載下傳。打開mac app store搜尋xcode,進入下載下傳頁面,如圖2-1所示,點選藍色的“免費”按鈕,然後點選“安裝應用”按鈕。

xcode開發工具和ios sdk是合并在一起的,總共大約1.5gb。你可以在“已購買”标簽下檢視下載下傳進度。當下載下傳完成,你将會在你機器的/applications檔案夾下發現一個名為xcode的新應用。

第一次啟動xcode的時候,(可能會)有一個對話框彈出來要求你安裝一些附加元件,這些元件會因為你下載下傳的xcode版本的不同而不同。對于我來說,xcode要求我安裝用于支援舊版ios模拟器的一些元件,如圖2-2所示。

《iOS程式設計指南》——2.4節安裝iOS SDK

不過别着急,我們的安裝過程還沒有全部完成。在xcode的菜單中選擇preferences菜單項,打開downloads,在components标簽下你會看到一些元件,比如command line tools和legacy simulators等,這些元件在預設情況下并沒有安裝。這些元件雖然不是現在必需的,不過還是建議安裝,之後會很有用,逐一點選就可以下載下傳了,如圖2-4所示。再進到documentation标簽下來看一看,裡面有很多文檔,建議也

《iOS程式設計指南》——2.4節安裝iOS SDK

下載下傳。現在你已經有了編寫代碼和在模拟器中測試你的應用所需的所有東西了。

圖像說明文字如果你想在真機上調試,則需要加入ios開發者計劃标準版或者企業版。然而注冊ios開發者計劃需要的時間可能各不相同。是以如果你現在還沒注冊完成,請将本頁做個書簽,等注冊完成再回頭來把剩下的步驟做完。在等待的過程中,你可以使用iphone或者ipad模拟器來實踐本書中的示例程式。

ios模拟器很好,但是并不完美。代碼在模拟器上的運作速度比真機快很多,是以如果你的應用使用了結構複雜的ui或者消耗了大量的計算資源,那麼真機和模拟器之間的差别就很重要了。很多時候我發現在模拟器中運作的好好的,但在真實的裝置上卻很慢,于是隻能回頭重構代碼并優化ui的實作方式。你也有可能在模拟器上使用了比真實裝置所能提供的記憶體要多的記憶體資源。

另外,一些架構(framework)在模拟器中是可用的,但在真實裝置上卻沒有,尤其是nspredicate和nsxmldocument這兩個類。如果你的代碼用了這些類,在模拟器上是可以編譯和運作的,但在真實裝置上卻不行。一般情況下,你可以在模拟器中建構(build)并運作,不過最好是時不時也連上真實的裝置上試一試,如果你一旦不小心使用了這樣的類,xcode會在編譯時提示連結錯誤。你也不想到了項目結尾的時候才發現某個庫在真實裝置上不能用,還得着急忙地尋找替代方案吧。

nspredicate和nsxmldocument是常用的兩個類,其中nsxml document是用來處理xquery和xml文檔的,不過一般是用在mac開發上,而非ios開發上。很多開發者很快就會發現這個問題。

我聽到過一些抱怨,聲稱在模拟器上會出現輕微的uikit控件不對齊的情況,不過我自己倒沒有遇到過。可是如果用更加底層的圖像庫,比如opengl es,真實裝置上使用的渲染器和模拟器上使用的渲染器有一點差別,是以在模拟器上看到的圖形和真實裝置上顯示的圖形會有像素級别的細微差距。

另外模拟器會有一些先天的缺陷,如果你的應用的ui需要響應超過兩個手指的觸摸事件,在模拟器上就沒法測試了。

盡管模拟器不支援多點觸控,不過兩點觸控還是有辦法測試的。你可以按住鍵盤上的option鍵并拖動滑鼠來模拟放大或縮小的動作,或者可以按住option和shift鍵并拖動滑鼠來模拟兩指拖動。

另外,如果你在模拟器中運作你的應用,你将無法使用加速度傳感器、gps、藍牙和數字指南針。如果你的應用依賴這些硬體子產品,那麼你沒有其他選擇,隻能用真實裝置來調試。

關于beta版本

到目前為止,蘋果公司使用過多種方式釋出開發版(beta版)的開發工具。它們通常會以.dmg檔案的形式放在ios dev center裡供開發者下載下傳,不過有一些beta版的工具在mac app store就可以下載下傳到,當然需要開發者提供兌換碼(redemption code)才行,兌換碼是和你注冊蘋果開發者使用的apple id綁定的,可以用于換取獲得beta版軟體的權限。不過,雖然最近釋出的工具的beta版都是一個獨立的安裝包,但是之前有一些版本是在安裝時你必須先下載下傳更新了的xcode,然後再下載下傳一個獨立的安裝包來更新ios sdk。