iOS同一項目多個Target的快速實現方法 - 兩種使用場景詳解

我們項目中,默認建好是隻有一個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管理處,點擊+添加,不過不建議這樣,這樣添加也能實現,不過系統會自動添加不全,還需手動補全一些文件。


當然實現也是可以的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章