我們項目中,默認建好是隻有一個target的,但是,一些場景中,多target能幫助我們更好的使用項目。
場景1:
同一項目,一般會分不同環境:開發環境、測試環境、正式(生產)環境。
這就涉及到一個請求接口的區別,一般我們可能會定義多個,每次切換環境,就用代碼註釋解決,的確不是太方便。
其次一個,就是某一類特殊項目,主功能都一樣,可能就是只需要更換icon圖標、bundleID等等信息,需要發佈多款APP,這種情況下,你如果每次發佈一個就手動替換這些信息,真的要哭了。。。
場景2:
就是同一產品會有兩種客戶端構成,現在有很多這種場景下的項目,類似滴滴的司機端和乘客端,教學項目的學生端和教師端等等。。
這種項目,會生成2個App,但其中很多東西可以共用,因此在一個項目裏創建管理,會更好更方便。
============對於場景1 :=============
1、打開項目,找到TARGETS,選中第一個右擊
2、創建完,會這樣,我們之間點擊重命名
--->
3、我們查看Schemes,這邊需要手動更改
--------->
4、修改plist文件,同樣,我們的plist文件拷貝過來後,重命名,但這邊有點特殊,需要額外做一步操作。
重命名後,刪除,記住不要刪本地,如圖
然後,從本地再拖進來,選擇對應的target
最後,在這邊choose添加進來。
這樣做的原因就是,如果僅僅重命名了,系統還是識別不了的,必須經過這幾步,重新讓系統識別plist文件。
5、上面準備工作基本完成,所以我們可以得到這樣的targets
現在如果我要對不同環境下設置不同的相關配置描述,打開build Settings
如果OC項目:搜索macros關鍵字
在這邊添加需要的預處理指令, 最好在debug和release都加一下,比如:
如果是Swift項目,Swift比較特殊,不能在這邊設置(設置無效),不過swift提供了另外一種方式設置:
這裏注意兩點:
1、加“”,用字符串格式
2、先寫-D,一定要寫,否則無效,所以要寫兩個指令,如上圖所示
6、如何使用呢?
OC項目,可以直接在共用設置.h文件或pch文件內設置。
Swift項目,可以直接在定義文件裏寫,我這邊用的Swift測試,就直接寫swift了:
然後我們使用的時候,就可以得到結果了,比如我在test的target下run:
結果:
同理,除了不同環境下的請求url,還可以在這裏設置一些每個環境下的獨有內容,很方便。
如果需要Demo:點擊這裏獲取
============對於場景2:============
1、正常新建一個項目,完成後 如下:
2、這一步就是添加一個新的target
3、添加完,就會發現多出一個新的,變成這樣。
還有人會在target管理處,點擊+添加,不過不建議這樣,這樣添加也能實現,不過系統會自動添加不全,還需手動補全一些文件。
當然實現也是可以的。