Xcode開發和調試總結

Xcode是iOS開發主要的工具、IDE。關於Xcode的細枝末節,能夠參考蘋果的官方文檔或者衆多的說明。此文檔主要涉及經常使用開發和調試注意事項,參考版本爲Xcode 5.1.1。api

 

目標設置:架構

         在此,我就不區分Project和Target了,這兩方面有不少共同的設置,因此只須要了解須要設置哪些子項就能夠了。app

  1. Deployment Target:設置支持的最低設備版本,這個根據代碼的API支持狀況而定
  2. Base SDK:理論上應該設置爲最新版本的SDK,以支持最高版本
  3. Identity:設置Bundle Identifier(即AppId)、Version(版本號)、Build(編號)
  4. Architecture:用於指定編譯的目標架構,包括armv6四、armv七、armv7s
  5. App Icons、Launch Images:設置各類標準圖標
  6. Compiler:如今都默認爲Apple LLVM,這是蘋果專爲C、C++、OC開發的編譯器
  7. Other Linker Flags:當引用第三方靜態連接庫時,須要加上-ObjC和-all_load
  8. Info.plist File:指定項目的配置信息文件.plist,固然能夠本身新建其餘配置信息文件以供代碼中使用
  9. Prefix Header:前提是Precompile Prefix Header爲Yes,指定了預編譯頭文件.pch
  10. Search Paths:主要設置第三方引用的搜索路徑,這就包括Framework(框架)、Header(頭文件)、Library(靜態連接庫)
  11. Linked Frameworks and Libraries:管理引用的框架和連接庫
  12. Code Signing Identity:主要設置本應用AppId產生的Debug、Distribution、Release三種模式的證書,來源爲鑰匙串
  13. Provisioning Profile:主要設置本應用AppId和相應證書生成的概要配置文件,來源也是鑰匙串,而且會決定Code Signing Identity中對應模式的備選證書

 

編譯調試設置:框架

  1. 設置當前活動的模式:位於Xcode左上角的選項,包括設置目標項目和模擬器版本。例如須要先編譯靜態連接庫或者改變啓動項目。
  2. 編輯模式:點擊桌面菜單欄的Product->Scheme->Edit Scheme,能夠設置更詳細
  3. 運行調試:能夠直接點擊「播放」按鈕,也能夠在菜單欄中的product子項中選擇 run、Build For、Build、Clean等。

 

Archive打包設置:工具

  1. 在編譯調試設置的第二條顯示界面中,選擇左邊的Archive,再設置Build Configuration項爲Distribution
  2. 將模擬器選擇項設置爲「iOS Device」(鏈接設備時,即爲當前設備名稱)
  3. 在編譯調試設置的第三條中,選擇Archive(此前爲灰色狀態)

 

代碼區自定義:字體

         選擇左上角的Xcode->Preferences進入Xcode設置界面。ui

         Fonts&Colors:用於設置代碼編輯區的背景和字體樣式調試

         Text Editing:用於顯示行數、自動填充代碼等等code

         Key Bindings:顯示快捷鍵操做,也可自定義快捷鍵orm

 

模擬器使用簡介:

         模擬器是用於仿真iPhone和iPad運行,顯示App界面和功能。可是須要注意,模擬器並不等於真機運行,由於模擬器cpu採用的是i386架構,可是iOS真機採用的是armv架構;而且模擬器不支持遠程推送之類的功能。

 

         模擬器上的操做總結:

Command + H:隱藏模擬器

Command + Q:推出模擬器

Command + S:截屏模擬器,存儲到OS桌面

Command + L:鎖屏

Command + ←:向左旋屏

Command + →:向右旋屏

Command + Shift + H:返回模擬器主界面,等於Home鍵

在iOS模擬器菜單欄,點擊硬件->設備,能夠切換模擬器設備

 

         模擬器的iPhone SDK:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

上述路徑,能夠在Finder中Command+Shift+G搜索。

 

         模擬器的沙盒路徑:

這是在當前用戶帳戶的隱藏目錄下,路徑爲

/Users/[USERNAME]/Library/Application Support/iPhone Simulator/7.1/Applications

此處的7.1爲當前模擬器iOS版本,在Applications目錄下,能夠看到不一樣文件夾,表明不一樣的App。而後就能夠看到App的沙盒目錄:Documents、Library、tmp三個文件夾。

 

編譯錯誤分析:

         編譯錯誤種類太多,我只描述一下遇到的常見類型和重要錯誤。

         常見錯誤,大多都是代碼編寫的問題,例如變量未實例化、對象引用計數爲-一、向nil對象發送方法請求等。

         比較重要的有:

  1. Reference、link相關:即引用相關錯誤,多半是連接庫或者頭文件引用找不到,或者重複引用的問題。須要檢查頭文件引用,或者頭文件搜索路徑的配置。
  2. 帶有i386關鍵字的問題:多指編譯目標架構不對應,i386架構只針對模擬器運行,可是真機編譯,須要armv架構;或者是引用的靜態連接庫的編譯架構有誤。
  3. 某些api被廢棄:通常出如今更新了新版SDK後,須要找到對應api,而後替換爲最新方法
  4. 證書錯誤:這個返回到目標設置裏去調整,或者須要去開發者中心從新配置生成
  5. 預編譯頭文件.pch被修改:這個問題不大,clean之後從新編譯便可
相關文章
相關標籤/搜索