Swift讀取App的版本信息與PCH文件詳解

Swift讀取App版本信息
有時(shí)間我們需要讀取APP的版本信息之類的配置信息,這樣的我們可以使用方法:NSBundle.mainBundle().infoDictionary 來獲取
Example:
let infoDictionary = NSBundle.mainBundle().infoDictionary let shortVersion = infoDictionary!["CFBundleShortVersionString"] print(shortVersion!)
PCH 文件
PCH文件命名:
一般以項(xiàng)目名稱命名,即項(xiàng)目名稱是什么,pch文件也叫什么名字。
PCH原理:
PCH文件里面的內(nèi)容被項(xiàng)目的所有文件共有。
PCH Tips:
1.pch需要提前編譯,在工程文件中,找到Build Setting,選擇All選項(xiàng),中找到 Apple LLVM 1.7 - Language集合下的 : Precompile Prefix Header 設(shè)置為 Yes ,然后 Prefix Header 選項(xiàng)中寫入pch文件的絕對(duì)路徑,如圖:

2.找到Swift Compiler - Code Generation 集合,從中配置Objectie-C的橋接文件:Objective-C Bridging Header ,寫入相同的pch文件路徑

3.在xcode中按Command+B編譯一下
PCH文件作用:
/* 首選判斷當(dāng)前有沒有C文件,如果有C就不導(dǎo)入OC的語法 每一個(gè)OC文件頭部默認(rèn)都會(huì)定義__OBJC__這個(gè)宏 */ #ifdef __OBJC__ /** 1.存放一些公用的宏 */ #define PERSIMMON "Mr.Cong" /** 2.存放一些公用的頭文件 */ #import "UIImage+Test.h" /** 3.自定義一些調(diào)試用的NSLog(輸出日志) ... 表示在宏里面的可變參數(shù) __VA_ARGS__ 表示函數(shù)里面的可變參數(shù) */ #ifdef DEBUG #define TLog(...) NSLog(__VA_ARGS__) #else #define TLog(...) #endif #endif
PCH弊端;
1.每次都需要提前編譯 2.需要做一些判斷,判斷當(dāng)前有沒有C文件,如果有C就不導(dǎo)入OC的語法
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Swift4.1轉(zhuǎn)場(chǎng)動(dòng)畫實(shí)現(xiàn)側(cè)滑抽屜效果
這篇文章主要為大家詳細(xì)介紹了Swift4.1轉(zhuǎn)場(chǎng)動(dòng)畫實(shí)現(xiàn)側(cè)滑抽屜效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model的方法及HandyJSON使用講解
這篇文章給大家介紹了Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model的方法及HandyJSON使用講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-07-07
詳解swift中xcworkspace多項(xiàng)目管理
給大家詳細(xì)講解了IOS開發(fā)中swift語言xcworkspace多項(xiàng)目管理的方法和介紹,一起參考一下。2017-11-11
Swift設(shè)置UILabel內(nèi)邊距的實(shí)例代碼
有時(shí)候,我們需要一個(gè)顯示文字,又想這些文字與邊界之間有自定義的邊距,所以下面這篇文章主要給大家介紹了關(guān)于Swift設(shè)置UILabel內(nèi)邊距的相關(guān)資料,需要的朋友可以參考下2021-10-10

