UI進階之常見文件

1、 項目中的常見文件
      ** XxxxTest文件夾用來作單元測試。
                           
      ** Products目錄。
         * 在Mac程序下,生產的可執行文件app會存放到該目錄下。
         * iOS程序時ipa。這個目錄對於iOS程序來講意義不大。
                           
        1. info.plist(全局配置文件, 很是重要, 不能刪除 ):
               * 在xcode5 中是"項目名稱-Info.plist"表示項目的全局配置文件,很是重要。在舊版本xcode中(和xcode6.1),該文件名稱就叫Info.plist。
                           
                           
               ** 注意:本身建立的plist文件中不要包含Info關鍵字。
                           
                           
               * Info.plist中的一些配置項:
                   1> Bundle display name(在xcode6.1中叫作"Bundle name"), 表示軟件安裝到手機上後,顯示的名稱。
                        ** 當修改了該名稱後,爲了保證有效, 點擊Product -> Clean, 同時將軟件從模擬器中卸載掉,而後再從新運行。
                           
                   2> Bundle identifier, app的惟一標識。
                           
                   3> Bundle version, 每次發佈軟件的版本號。每次向AppStore上傳的同一個軟件, 新的版本號必須大於舊的, 不然沒法上傳。
                           
                   4> Main storyboard file base name, 對應的就是選中"項目" -> "General" -> "Deployment Info" -> "Main Interface" 中的設置。
                           
                   5> Supported interface orientations, 標識設備所支持的方向。對應的選中"項目" -> "General" -> "Deployment Info" -> "Device Orientation"。iPhone只支持三種方向, 不支持上下旋轉(iPad支持)。Portrait(豎屏)、Landscape Left(橫屏向左)、Landscape Right(橫屏向右)。
                           
                   6> Info.plist就是一個xml文件, 用記事本打開看一下。

2>pch文件xcode

 * 遇到的問題:
                           1> 整個項目中不少地方都在使用某個類的頭文件。
                           
                           2> 整個項目中不少地方都在使用同一個""
                           
                           3> 在項目中不少地方用到了NSLog()函數, 想一會兒全都清除掉。

                           
               * 解決上面的問題, 能夠經過使用PCH文件(Prefix Header File)。
                           
               * pch文件就是一個頭文件(相似於*.h文件)。
                
               ** 注意: PCH文件的特色, 項目中的全部其餘代碼文件無需顯示導入該PCH文件, 默認就均可以訪問(其餘文件無需手動#import該文件)。
                   /**
                    參考代碼:
                    // 假設在整個項目中有多個地方在使用Person類, 那麼能夠在每一個使用到Person類的地方都#import "Person.h", 或者把#import "Person.h"放到pch文件中。
                    
                    */
               
               * 主要做用:
                   1> 能夠放一些公用的宏定義。
                   
                   2> 把公共的Model類的#import導入寫到pch文件中。
                   
                   3> 自定義NSLog()。例如: #define SteveZLog(...) NSLog(__VA_ARGS__)
                           
                           
               ** 遇到的問題: 在項目中不少地方用到了NSLog()函數, 想一會兒全都清除掉。

代碼:app

 #ifdef DEBUG 
 #define SteveZLog(...) NSLog(__VA_ARGS__)
 #else
 #define SteveZLog(...)
#endif
補充, 程序開發階段分爲:
                1. 調試階段, 寫代碼、調錯誤,須要使用NSLog()。同時在調試階段系統會自定義一個叫作DEBUG的宏。
         
                2. 發佈階段, 寫好的代碼生成ipa等壓縮文件, 上傳到AppStore, 安裝到用戶設備上, 不須要NSLog()。 同時系同會自動刪除叫作DEBUG的宏。
         
                3. 綜上所述, 咱們能夠以下自定義一個NSLog():
                
                #ifdef DEBUG 
                #define SteveZLog(...) NSLog(__VA_ARGS__)
                #else
                #define SteveZLog(...)
                #endif
全部與OC相關的宏定義都要寫在:
                    #ifdef __OBJC__
                    #endif
                裏面, 由於寫在這個if中的全部內容只有OC代碼纔可使用, 當在項目中新建了一個.c文件是不可使用的(不使用就不會報錯), 不然若是寫在了外面,新建一個.c的程序也能使用,就報錯了。好比C語言中沒有#import, 只有#include <xx.h>
                     
                     // 判斷若是是OC文件才引入這些宏, 若是是普通C語言文件則不引入。不然當在項目中添加C語言文件時報錯。
                     #ifdef __OBJC__
                     
                         #define ABC 10
                         
                         #import "Person.h"
                         
                         #ifdef DEBUG
                         #define SteveZLog(...) NSLog(__VA_ARGS__)
                         #else
                         #define SteveZLog(...)
         
                     #endif
                     
                     
                     #endif
         
         */

 

特別注意:ide

* 在xcode6.1中, 默認沒有建立pch文件。
                   ** 須要本身新建一個
                   
                   ** 建立方式: 選擇"Supporting Files" -> 右鍵 -> "New File" -> "Other" -> "PCH File" -> "PrefixHeader.pch"* 在該文件中定義以下宏:
                    **  #define ABC 10
                           
                * 選中項目 -> Build Setting -> All -> 搜索"prefix head" -> 修改Prefix Header的內容爲:
                    ** $(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch
                    ** 或者
                    ** $(SRCROOT)/對應的文件夾名/PrefixHeader.pch
                    ** 參考鏈接: http://www.cnblogs.com/YouXianMing/p/3989155.h
相關文章
相關標籤/搜索