iOS開發中如何建立多個target

2022-07-05 13:00:15 字數 2098 閱讀 8357

在開發ios應用程式的過程中,經常需要根據不同的需求,切換到不同的專案配置,或者打不同的包(測試環境、開發環境、生產環境等等),如果每次都是手動配置,一則比較麻煩,二則容易配置錯,那麼有沒有更好的方案來解決這個問題呢?答案是:有的。我們可以根據不同的需求,建立不同的target,在不同需求要切換配置或打包時,直接選擇對應的target完成工作,從而提高我們的開發效率。

建立多個target有兩種方式,一種是建立多個info.plist的配置檔案,另一種是拷貝整個工程所需的檔案,如:原始檔、資源檔案、配置檔案等等。下面介紹這兩種方式的建立過程:

複製target

首先複製target,然後在彈出的框中,選擇duplicate only,即可複製乙個target

修改名字

1.修改target的名字

雙擊複製出來的target即可修改名字

2.修改plist名字

把複製出來的*** copy-info.plist檔案改成其它名字,然後在general的配置裡面,重新選擇target的配置檔案

3.修改scheme的名字

選擇manage schemes...,然後在目標scheme上門雙擊(具體是:單擊一下,等3s再單擊,如果快速雙擊,是無法進行名字的修改的),之後修改名字

經過上面的修改,乙個新的target就建立完成,之後我們可以修改bundle identifierversionteam等,以及資源檔案等。

方式二就簡單許多,直接複製工程所需的檔案,之後我們可以看到工程的根目錄下面,會多出乙個資料夾,裡面的檔案內容和工程是一樣的,所以是乙個獨立的工程空間,包括:原始檔、配置檔案、資源檔案等等。我們在新工程裡面的修改不會影響到舊工程。

根據上面的兩種方案可以看出,第一種僅僅是建立了乙個工程的配置檔案,來實現多target的功能;而第二種是完全建立了乙個新的工程目錄,拷貝了之前的所有檔案,之後的修改也不會影響到舊工程了,類似工程的備份功能。

在同一target下,我們也會需要不同的配置,如果都在**裡面進行判斷,每次都要手動修改,也是比較麻煩的問題。針對這個問題,我們可以用預編譯巨集來解決。通常,target裡會有乙個debug模式下的預設的巨集:debug=1,我們可以繼續新增,或者直接使用這個巨集來進行不同的配置。

例項**如下:

#ifdef debug

#define base_url @""

#else

#define base_url @""

#endif

通過以上配置,那麼以後我們在切換開發和生產模式時,就不同再手動修改base_url了,是不是感覺爽的飛起。

參考資料

ios開發多個target的使用

多個target的使用

如何在ios專案中建立多個target?

IOS開發中如何區分IOS版本

當前系統支援的最小版本 iphone os version min required 當前系統支援的最大版本 iphone os version max allowed 比如用iphone os sdk 3.1.2 編譯的程式 iphone os version min required iphon...

iOS開發中怎麼建立Plist檔案

選中xcode,使用快捷方式command n 建立plist檔案1.png 建立plist檔案2.png 手動新增屬性.png 注意 只能讀取,不能用 進行更刪改查。如果本身plist檔案在bundle中是無法修改的,需要先從bundle中移出才可以。你應該把plist檔案從bundle複製到ca...

IOS開發中emoji表情如何判斷

在ios開發中,很多時候我們要對textfield中的文字進行限制,包括有沒有空格,長度在哪個範圍裡面。不過,最近發現乙個問題,ios手機自帶的鍵盤裡面可以輸入一些emoji表情,而且這些表情在伺服器上根本不支援,這時候沒辦法只能控制使用者輸出了,那麼我們如何來判斷文字中是否含有emoji表情呢?首...