研讀 "App程設設計入門" 一書 整理
 @Xcode的雞毛小事@


    1.Interface Builder : 介面設計工具,假如需要複雜動態的畫面,也是必須透過Xcode來編寫.
    2.Instruments : 包含著許多小工具,協助找出程式當掉/遲緩的原因,完成攥寫和編譯后,可透過這把關大魔王確認程式效能順暢和沒有浪累記憶體.
    3.Objective-C : 
審核:
    1.Apple對於UI審核標準頗為嚴格,可以參考Dev Center上的"iOS Human Interface Guidelines" .
    2.程式有bug
    3.軟體內容不宜
    4.使用private API也是不會通過審核.
Template:
    1.OpenGL ES Application : 提供大量開發遊戲所需的函式庫
    2.View-based Application : 只提供一個View ,好比一本書的一頁;但是可以擴充它,多加幾頁都可以.
    3.Navigation-based Application : 輕易產生多頁App,且可以在不同頁面做切換
    4.Tab Bar Application : 和 3 類似 , 目的是開發更多頁面,點選不同Tab會切換到不同頁面,以Music就是典型範例.
    5.Windows-based Application : 只提供一個window , 連view都不給 ,但是Core Data的支援..提供方便好用的API,輕易取得軟體的Data,不必學習複雜的資料庫API
    6.Utility Application : 簡單雙面的View , 點選前置按鈕就會翻轉的動畫方式, Weather APP 就是典型範例.
    7.Split View-based Application : iPad獨特的template,只有iPad大畫面才適合採用. Setting 就是一個很好的例子.
Project:
    |--Classes : 軟體的主要部分-程式碼, .h 標頭檔 和 .m 實作檔
    |--Other Sources : main.m , 所有app一開始都是執行main function , 不過大部分情況..我們不需要去修改這個分類下的檔案.
    |--Resources : 軟體相關資源(pics / music) , 還有另外重要的兩個檔案: plist and xib .
    |--Frameworks : 函式庫 , 使用的類別和呼叫的method .
    |--Products : PRODUCT_NAME.app 
Notes:
1.plist : xml檔案,一些和app相關的設定都在這檔案內,以key and value來定義事物,都是直接一對一的關係,ex: icon file 在resources內的名稱.
2.xib : 定義app UI的檔案,用Interface Builder來開啟編輯
3. 常用Framework簡介
 Framework Name說明一下下 
 UIKit   定義所有和UI相關的API 
 Foundation定義常用的基本功能API,例如Array Dictionary這類資料結構,或是字串處理,時間相關的功能. 
 CoreGraphics繪圖相關API 
 OpenGL ES定義OpenGL ES相關的2D 3D API 
 QuartzCore繪圖相關API  
 CoreData資料存取的API , 提供類似資料庫的功能 
 CoreLocation提供定位相關功能 
 MapKit提供地圖相關功能 
 AVFoundation音效相關API 
 GameKitBluetooth Ad Hoc 連線API 
Action :
讓程式開啟讀取時,以呈現圖片渡過讀取時間.
在plist中增加一行Row , Key : Launch image(iphone) , Value : image name
將image加入Resources之中
此時開啟軟體時,會先呈現Launch image .

Xcode 4 Keyboard Shortcuts