Info.plist常見的設置
•建立一個工程後,會在Supporting
files文件夾下看到一個“工程名-Info.plist”的文件,該文件對工程做一些運行期的配置,非常重要,不能刪除
•
•在舊版本Xcode創建的工程中,這個配置文件的名字就叫“Info.plist”
•項目中其他Plist文件不能帶有“Info”這個字眼,不然會被錯認爲是傳說中非常重要的“Info.plist”
•項目中還有一個InfoPlist.strings的文件,跟Info.plist文件的本地化相關
Info.plist
常見屬性(紅色部分是用文本編輯器打開時看到的key)
Localiztion native development region(CFBundleDevelopmentRegion)-本地化相關
Bundle display name(CFBundleDisplayName)-程序安裝後顯示的名稱,限制在10-12個字符,如果超出,將被顯示縮寫名稱
Icon file(CFBundleIconFile)-app圖標名稱,一般爲Icon.png
Bundle version(CFBundleVersion)-應用程序的版本號,每次往App
Store上發佈一個新版本時,需要增加這個版本號
Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名稱
Bundle identifier(CFBundleIdentifier)-項目的唯一標識,部署到真機時用到
pch文件
在xcode6新建一個項目是沒有宏定義的,這時候就需要手動創建一個pch文件
步驟:
•這時候項目的Supportingfiles文件夾下面有個“工程名-Prefix.pch”文件,也是一個頭文件
PCH文件的作用:
•1、存放一些全局的宏(整個項目都用的宏)
•2、用來包含一些全部的頭文件(整個項目都用的頭文件)
•3、能自動打開或者關閉日誌輸出功能
•pch頭文件的內容能被項目中的其他所有源文件共享和訪問
•
•一般在pch文件中定義一些全局的宏
•
•在pch文件中添加下列預處理指令,然後在項目中使用Log(…)來輸出日誌信息,就可以在發佈應用的時候,一次性將NSLog語句移除(在調試模式下,纔有定義DEBUG)
#ifdef DEBUG /* 調試階段 */
#define Log(...) NSLog(__VA_ARGS__)
#else
#define Log(...) /* 發佈階段 */
#endif
注意點:
在pch文件的宏定義用於所有文件,但是應該分清楚文件的語言,比如:
在__OBJC__裏面是OC語言,用於所有的.m或者.mm文件,但是如果寫到外部,比如:
這樣的後果就是,如果文件不是.m或者.mm文件,像.c文件訪問到,因爲C語言沒有import語法就會報錯。
因爲C語言沒有@這種語法,#import相當於把那個文件的代碼複製粘貼過來,C語言不能識別OC語法,所以報上21個錯誤。
總結一句話:OC語言的放到__OBJC__裏面,其他文件都共享的放到外面