馬甲包需求-多個(gè)Target

Workspace、Scheme、Project、Target、Build Settings

workspace 它多含所有文件,可以有多個(gè)Project和其他文檔文件。

project 就是一個(gè)個(gè)的倉(cāng)庫(kù),里面包含屬于這個(gè)項(xiàng)目的所有文件,資源,以及生成一個(gè)或者多個(gè)軟件產(chǎn)品的信息。每個(gè) project 會(huì)包含一個(gè)或者多個(gè) targets,而每一個(gè) target 告訴如何生成 products。project 會(huì)為所有 targets 定義默認(rèn)的 build settings,每個(gè) target 也能自定義自己的 build settings,且 target 的 build setting 會(huì)重寫 project 的 build settings

Xcode Project 文件會(huì)包含以下信息,對(duì)資源文件的引用(源碼.h和.m文件,frame,資源文件plist,bundle文件等,圖片文件image.xcassets還有Interface Builder(nib),storyboard文件)、文件結(jié)構(gòu)導(dǎo)航中用來(lái)組織源文件的組、Project-level build configurations(Debug\Release)、Targets、可執(zhí)行環(huán)境,該環(huán)境用于調(diào)試或者測(cè)試程序。

target 會(huì)有且唯一生成一個(gè) product,它將構(gòu)建該 product 所需的文件和處理這些文件所需的指令整合進(jìn) build system中。

projects 會(huì)包含一個(gè)或者多個(gè) targets,每個(gè) target 將會(huì)產(chǎn)生一個(gè) product。

每個(gè) target 中的 build setting 參數(shù)繼承自 build settings,一旦在 tagrget 中修改任意 settings 來(lái)重寫 project settings,那么最終生效的 settings 參數(shù)以在最終生效的 settings 參數(shù)以在 target 中設(shè)置的為準(zhǔn)。

項(xiàng)目中使用多個(gè) tagert

這次在需求中有一個(gè)馬甲包的需求。

在開始馬甲包時(shí),一開始準(zhǔn)備使用創(chuàng)建新的 Scheme,后來(lái)發(fā)現(xiàn)馬甲包中某些 view 也變了,不僅僅是 icon 和 啟動(dòng)圖等了。就考慮到在 project 中使用 多個(gè) target。

第一種方法就是復(fù)制一個(gè)原有的 Targets,與原來(lái)的工程是一模一樣。

第二種方法創(chuàng)建的是一個(gè)新的 Targets,里面所有的文件都更改了。包括 plist文件,源代碼,Build Settings...所有參數(shù)都可以改。

在這次需求中,馬甲包中只有部分圖片,icon,啟動(dòng)圖等一些布局圖片改變了,并沒有改變里面一些邏輯。所以選擇第一種方法復(fù)制一個(gè)原有一樣的工程。

在復(fù)制創(chuàng)建新的 Target 時(shí),自動(dòng)創(chuàng)建新的 Plist 文件。scheme,和 plist ,target 名字都是以 源工程名+copy 來(lái)命名,自行更改。

在老員工的要求下盡量少改原工程的代碼,和為以后可能需求另外一個(gè)馬甲包做準(zhǔn)備。

創(chuàng)建一個(gè)新的 Config 文件來(lái)進(jìn)行多 Target 編譯。

通過 Target -> Build Setting 來(lái)

所有圖片調(diào)用以下方法創(chuàng)建

改變啟動(dòng)圖,icon等,改變 Target 中 icon,啟動(dòng)圖路徑即可。

對(duì)于 podfile 文件?

target"target-copy"do


end

參考:

https://halfrost.com/ios_multienvironments/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容