iOS開發之info.pist文件和.pch文件


info.plist文件php

簡單說一下,info.plist 是項目運行配置文件,屬性列表文件,用來存儲用戶設置,存儲捆綁信息。html

Bundle display name(CFBundleDisplayName)-程序安裝後顯示的名稱,限制在10-12個字符,若是超出,將被顯示縮寫名稱。默認顯示的是工程名稱。ios

Icon file(CFBundleIconFile)-app圖標名稱,通常爲Icon.png編程

Bundle version(CFBundleVersion)-應用程序的版本號,每次往App Store上發佈一個新版本時,須要增長這個版本號xcode

Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名稱,在項目的工程配置能夠修改Main Inerface屬性也能夠設置主storyboard文件,而且修改後info.plist文件中的信息會自動修改。緩存

Bundle identifier(CFBundleIdentifier)-項目的惟一標識,部署到真機時用到,這是與其餘app區分的惟一標識,若此標識相同,後部署的app將覆蓋以前部署的app。app

實際上plist文件本質上就是一種特殊的XML文件。ide


pch文件ui

項目的Supporting files文件夾下面有個「工程名-Prefix.pch」文件,也是一個頭文件,pch頭文件的內容能被項目中的其餘全部源文件共享和訪問。是一個預編譯文件。url

pch文件的做用:

1.存放一些全局的宏(整個項目中都用得上的宏)

2.用來包含一些所有的頭文件(整個項目中都用得上的頭文件)

3.能自動打開或者關閉日誌輸出功能

自動打開或者關閉日誌輸出功能的代碼遵循如下格式,由於NSlog()是OC中的方法,因此只有後綴爲.m或.mm文件才用得着。

#ifdef __OBJC__ 

//你的代碼

#endif


xode6 添加預編譯文件

一直在用xcode6開發,但項目都是在xcode5上建立的,因此一直沒注意到,xcode6居然幹掉pch文件了。

爲何xcode6沒有自動建立pch文件呢?

簡單地看:咱們在寫項目的時候,大部分宏定義,頭文件導入都在這裏,Xcode6去掉Precompile Prefix Header的主要緣由可能在於Prefix Header大大的增長了Build的時間。沒有了Prefix Header以後就要經過手動@import來手動導入頭文件了,在失去了編程便利性的同時也下降了Build的時間。具體緣由

StackOverFlow上討論的已經比較清晰了

StackOverFlow:爲何xcode6沒有自動建立pch文件呢?

如何在Xcode6中添加pch(Precompile Prefix Header)?

1,Command+N,打開新建文件窗口:ios->other->PCH file,建立一個pch文件:「工程名-Prefix.pch」:

2,將building setting中的precompile header選項的路徑添加「$(SRCROOT)/項目名稱/pch文件名」(例如:$(SRCROOT)/LotteryFive/LotteryFive-Prefix.pch)

能夠了,編譯一下程序,若是有錯誤檢查一下添加的路徑是否正確。

3,將Precompile Prefix Header爲YES,預編譯後的pch文件會被緩存起來,能夠提升編譯速度

相關文章
相關標籤/搜索