September 9, 2016

為DEBUG build做不同的info.plist設定

開發專案總會遇到一些情況,比如說某些功能是debug用的,正式版並不要送出去。如果事事都用手動調整,那我們在做Release build時就會有一張落落長的check list。所幸大部分的功能只要設定Propressor Macro,在用#if區隔程式碼就可以自動區別。

但是就是這一個但是,iOS的某些功能是在info.plist中做設定的,不找一下,還真不知道該怎麼在build time讓它自動區分開來。比如說 UIFileSharingEnabled

查找了一下,可以參考這篇:Info.plist preprocessing

雖然Apple關著這扇門,但他也開了那扇窗。只要在Project Target的Build Setting中做以下設定,就可以囉!

1. 把 Preprocess Info.plist設為YES。(預設為NO)
2. 設定一個.h檔案,比如我用的是infoPlist.h,指定為Preprocessor Definitions檔案。這邊可以直接分為兩個檔案,或用#define做區隔,這就看各人喜好囉。
3. 最後在info.plist中再使用定義好的MACRO即可。

0 Comments: