iOS基礎 01 構建HelloWorld,剖析並真機測試

來源:互聯網
上載者:User

標籤:

iOS基礎 01 構建HelloWorld,剖析並真機測試

 

前言:

  從控制台輸出HelloWorld是我們學習各種語言的第一步,也是我們人生中非常重要的一步。

  多年之後,我希望我們仍能懷有學習上進的心情,繼續以HelloWorld去認識這世界上更多的東西。

 

  本篇以HelloWorld作為切入點,向大家系統介紹什麼事iOS應用以及如何使用Xcode建立iOS應用。

 

目錄:

  1. 建立HelloWorld工程

  1.1. 設計介面

  1.2. 真機測試

  2. Xcode中的iOS工程模板

  2.1. Application類型

  2.2. Framework&Library類型

  2.3. Other類型

  3. 應用剖析

  4. 最後再扯個犢子

 

 

 

1. 建立HelloWorld工程

  啟動Xcode,然後點擊File-New-Project菜單,或直接點擊“Create a new Xcode project”:

 

  在開啟的Choose a template for your new project介面中選擇Single View Application工程模板:

 

  接著點擊Next按鈕,然後提示輸入項目名稱等資訊:

 

  這裡我們可以按照並結合自己的實際情況和需要輸入相關內容。

  下面簡要介紹一下中各個選項:

選項 說明
Project Name 工程項目的名稱。
Organization Name 公司或組織的名稱。
Organization Identifier

公司或組織的標識(很重要)。

一般情況下,這裡輸入的是公司或組織的網域名稱(如com.geeksss)。寫法類似於Java中的包名。

Bundle Identifier

捆綁標識符(很重要)。該標識符由Project Name+Organization Identifier構成。

因為在App Store上發布應用時會用到它,所以它的命名不可重複。

Language

開發語言選擇。

這裡可以選擇開發應用所使用哦的語言,Xcode 6中可以選擇Swift和Objective-C。

Devices

選擇裝置。可以構建基於iPhone或iPad的工程,也可以構建通用工程。

通用工程是指一個工程在iPhone和iPad上都可以正常運行。

 

  設定完相關的工程選項後,點擊Next按鈕,根據提示選擇存放專案檔的位置:

 

  選擇完存放路徑之後,點擊Create按鈕,項目就建立完畢了。
  在項目資源清單中選擇Main.storyboard,即可在編輯區中開啟對應的設計器:

 

  在右下角的物件程式庫中選擇Label,將其拖拽到View設計介面上並調整其位置。

  雙擊Label,使其處於編輯狀態(也可以通過控制項的屬性來設定),在其中輸入HelloWorld:

 

  添加Label控制項後,需要設定Label控制項的位置。

  拖拽Label控制項,此時會出現藍色的虛線,說明該Label現在處於水平置中位置:

 

  但是如果現在運行該執行個體,我們會發現Label並非置中,還需要為Label添加Auto Layout約束。

  關於Auto Layout約束相關的內容,等後續再專門兒介紹吧。

 

  我們選擇工具列中的Resolve Auto Layout Issues(解決Auto Layout問題)按鈕,在彈出的菜單中選擇Add Missing Constrains(添加缺少約束):

 

  添加完成後,Label控制項的上面和下面會出現兩條藍色豎線:

 

  至此,整個工程建立完畢。

 

  ,選擇啟動並執行模擬器或裝置,然後點擊左上方的運行按鈕,即可看到運行結果:

 

  點擊運行後,如果是真機測試,第一次會提示輸入您的Apple ID帳號,輸入即可。完事兒就會在手機案頭上看到您的應用:

 

  但是當我們開啟時,提示該應用來自不受信任的開發人員,開啟受限。

  畢竟我也沒有購買開發人員認證。。呵呵:

 

  這裡我們按照提示,找到設定:

 

  通用:

 

  裝置管理:

 

  在開發商列表中選擇你剛剛在Xcode中輸入的那個帳號:

 

  然後會看到該帳號所有應用的列表,點擊信任該開發人員:

 

  然後會有一個提示,確定要信任這傢伙嗎?確定即可:

 

  然後我們會看到咱的應用已經通過驗證了:

 

  重新回到案頭,點擊啟動應用,OK,激動的一個介面映入眼帘:

 

  雖然介面很磕砷,並不高大上吧。但是我們在沒有輸入任何代碼的情況下,就已經利用Xcode工具的Single View Application模板建立了一個工程,並成功運行。

  Xcode之強大可見一斑。

 

 

 

2. Xcode中的iOS工程模板

  剛剛我們建立項目的時候可以看到,iOS工程模板大概分為3類:Application、Framework&Library和Other。

  下面將分別介紹這三類模板:

2.1. Application類型

  我們大部分的開發工作都是從使用Application類型模板建立iOS程式開始的。該類型共包含5個模板,具體如下:

模板名稱 模板介紹
Master-Detail Application 可以構建樹形結構導航模式應用,產生的程式碼包含了導航控制器和表視圖控制器等。
Game 可以構建基於iOS的遊戲應用。
Page-Based Application 可以構建類似於電子書效果的應用,這是一種平鋪導航。
Single View Application 可以構建簡單的單個視圖應用。
Tabved Application 可以構建標籤導航模式的應用,產生的程式碼包含了標籤控制器和標籤欄等。

 

 

 

2.2. Framework&Library類型

  Famework&Library類型的模板,它可以構建基於Cocoa Touch Framework和Cocoa Touch Static Library的應用:

 

  Cocoa Touch Framework可以讓開發人員自訂應用於UIKit的架構,而Cocoa Touch Static Library可以讓開發人員建立基於Framework架構的靜態庫。

  由於代碼安全和多個工程重用代碼的考慮,我們可以將一些類或者函數編寫成靜態庫。

  靜態庫不能獨立運行,編譯成功時會產生名為libXXX.a的檔案(例如libHelloWorld.a)。

 

 

 

2.3. Other類型

  利用該類型,我們可以構建在應用程式內購買內容包(In-App Purchase Content)和空工程。

  ,使用在應用程式內購買內容包,可以協助我們構建具有內建收費功能的應用:

 

  我們可以根據需要選用不同的工程模板,這可以大大減少工作量。

 

 

 

3. 應用剖析

  在建立HelloWorld的過程中,產生了很多檔案(展開Xcode左邊的項目導航視圖可以看到),

 

  導航視圖下有HelloWorld、HelloWorldTests、HelloWorldUITests和Products四個組。

  其中HelloWorld組中放置的是HelloWorld項目工程的重要代碼,而HelloWorldTests組中放置的是HelloWorld程式的單元測試代碼,HelloWorldUITest組中放置的是自動化的測試UI與互動的測試代碼,Products組中放置的是編譯之後的工程檔案。

 

  下面,咱們重點介紹一下HelloWorld組中的項目內容。

 

  在HelloWorld組中,有兩個類AppDelegate和ViewController,兩個介面布局檔案Main.storyboard和LaunchScreen.xib,以及一個組Supporting Files。

  Main.storyboard檔案是故事板檔案(下篇重點介紹),LaunchScreen.xib是應用啟動介面的xib檔案。故事板檔案和xib檔案比較類似。

 

  我們主要的編碼工作就是在AppDelegate和ViewController這兩個類中進行的,它們的類圖:

 

  AppDelegate是應用委派物件,它繼承了UIResponder類,並實現了UIApplicationDelegate委託協議。

  UIResponder類可以使子類AppDelegate具有處理相應事件的能力,而UIApplicationDelegate委託協議使AppDelegate能夠成為應用程式委派物件,這種對象能夠響應應用程式的生命週期。

  相應地,AppDelegate的子類也可以實現這兩個功能。

 

  ViewController類繼承自UIViewController類,它是視圖的控制器類,在工程中扮演著根視圖和使用者事件控制器類的角色。

 

  AppDelegate類是應用程式委派物件,這個類中繼承的一系列方法在應用生命週期的不同階段會被回調,其定義如下:

 

  啟動HelloWorld時,首先會調用畫圈的application:didFinishLaunchingWithOptions方法,其它方法我們後續再詳細介紹。

 

  在項目導航視圖中,我們可以看到還有Images.xcassets檔案,它可以放置工程的圖片。

  Supporting Files組只有一個Info.plist檔案,該檔案是工程屬性描述檔案,其中儲存著工程的屬性設定。

  Products組是工程要生車功能的產品包。

 

說明:

  在訪問資源檔時,檔案夾和組是有區別的,檔案夾中的資源在訪問時是需要將檔案夾作為路徑的。

  如果icon.png檔案放在image檔案夾下,則訪問它的路徑是“image/icon.png”;如果image是組,則訪問它的路徑是“icon.png”。

 

 

 

4. 最後再扯個犢子

  沒有結尾總覺得不好看。。。

 

  如果本文對您有協助,不要忘記戳一下右下角的大拇指哦,呵呵。??

 

  

iOS基礎 01 構建HelloWorld,剖析並真機測試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.