創(chuàng)建兩個(gè)Target:
1.首先先選中Target一個(gè)已經(jīng)存在的版本, 右鍵 Duplicate
2.創(chuàng)建完之后你的新Target應(yīng)該是和我的一樣, 接下來我們就要修改Target, Scheme, Info-plist, 如圖這樣修改:
3.修改完了之后Target, Scheme, plist的名字之后, 你需要在新的Target添加對(duì)應(yīng)的plist文件, 修改CFBundleDisplayName就可以修改應(yīng)用的名字了
4.還要記得修改一下Product Name 不然你的Bundle Identifier的后綴名有copy和你的Target名字不一樣, 你還需要在Bundle Setting做一下修改.
在代碼里面利用宏定義來區(qū)分不同的Traget
1.在Bundle Setting里面設(shè)置一下Proprecessor Macros添加一份KFREE? KPRO的參數(shù)來區(qū)分到底是那個(gè)Traget. 在代碼里面為需要用到這個(gè)宏去判斷代碼
2.在代碼里面添加Proprecessor Macros里面宏定義, 你就會(huì)發(fā)現(xiàn)編譯之前Xcode就會(huì)智能的選擇不同代碼. 這樣你就共用一個(gè)項(xiàng)目管理兩個(gè)不同版本的應(yīng)用了, 大部分的代碼都復(fù)用, 維護(hù)管理非常輕松.
??:創(chuàng)建不同的target時(shí)茴丰,有個(gè)細(xì)節(jié)需要注意,那就是你的項(xiàng)目如果是xcworkspace時(shí)天吓,先pod install后再去按照貼圖上面的操作去完成贿肩,否則,先創(chuàng)建再pod install龄寞,projectName-dev和projectName-test就會(huì)出現(xiàn)報(bào)錯(cuò)汰规,報(bào)錯(cuò)原因是pod的配置信息沒完成或文件路徑?jīng)]索引到(我之前就遇到過,試了好多次物邑,還好經(jīng)過測試跳過了這個(gè)坑溜哮,??)。
Xcode中可以利用Compiler Flags來設(shè)置宏
可以通過設(shè)置Compiler Flags來定義宏色解,然后就可以在代碼中使用這些宏茂嗓,來進(jìn)行條件編譯的操作。有三種方式設(shè)置:
// 在Target>Build Setting>Custom Compiler Flags>Other C Flags
OTHER_CFLAGS (Other C Flags)
// 在Target>Build Setting> Preprocessing > Preprocessor Macros
GCC_PREPROCESSOR_DEFINITIONS (Preprocessor Macros)
// 在Target>Build Setting> Packaging > Info.plist Preprocessor Definitions
INFOPLIST_PREPROCESSOR_DEFINITIONS (Info.plist Preprocessor Definitions)
參考
1.Xcode -Target , PROJECT 區(qū)別 - Xcode