Xcode中的workspace, project, target, scheme

Xcode Project

Xcode中的 project里面包含了所有的源文件挤巡,資源文件和構(gòu)建一個或者多個product的信息。project利用他們?nèi)ゾ幾g我們所需的product澳泵,也幫我們組織它們之間的關(guān)系。一個project可以包含一個或者多個target兼呵。project定義了一些基本的編譯設(shè)置,每個target都繼承了project的默認(rèn)設(shè)置腊敲,每個target可以通過重新設(shè)置target的編譯選項來定義自己的特殊編譯選項击喂。

project包含了以下信息:

  • 源文件
    1. 代碼的頭文件和實現(xiàn)文件
    2. 靜態(tài)庫,動態(tài)庫
    3. 資源文件(如文本碰辅,xml懂昂,plist等)
    4. 圖片資源
    5. 界面資源文件(xib, storyboard等)
  • 在文件結(jié)構(gòu)的導(dǎo)航中没宾,采用group去組織文件(實際開發(fā)中凌彬,盡量使用實體文件夾)
  • project的編譯級別配置文件如(debug沸柔, release)
  • target
  • 運行環(huán)境如:debug,test
    [注]project可以單獨存在铲敛,或者存在于一個workspace中

Target

target定義了構(gòu)造一個product所需的文件和編譯指令褐澎。一個target對應(yīng)于一個product。target說白了就是
告訴編譯系統(tǒng)要編譯的文件和編譯設(shè)置伐蒋。編譯指令就是根據(jù)build settings and build phases來確定的工三。
target之間可以進(jìn)行依賴。如果一個target的編譯需要另外一個target作為他的輸入先鱼,那么我們就可以說前者依賴于后者俭正。如果這兩個target在同一個workspace里面,Xcode可以發(fā)現(xiàn)他們的依賴關(guān)系焙畔,這種依賴稱之為隱式依賴掸读。當(dāng)然你可以通過設(shè)置,明確他們的依賴關(guān)系宏多。

workspace

workspace是Xcode的一種文件儿惫,用來管理工程和里面的文件,一個workspace可以包含若干個工程绷落,甚至可以添加任何你想添加的文件姥闪。workspace提供了工程和工程里面的target之間隱式和顯式依賴關(guān)系,用來管理和組織工程里面的所有文件砌烁。

workspace中的工程共享一個編譯目錄

workspace中的工程默認(rèn)都是在同一個編譯目錄下筐喳,也就是workspace的編譯目錄。由于每個工程中的文件都在workspace的編譯目錄下函喉,所以每個工程之間的文件都是相互可以引用的避归。因此,如果workspace中的多個工程使用了同一個庫的時候管呵,我們就不需要給每個工程都拷貝一個梳毙。

Xcode會檢查編譯目錄里面的所有文件去發(fā)現(xiàn)隱式的依賴關(guān)系。比如捐下,一個工程用來編譯成庫給其他工程去引用账锹,Xcode可以自動的先編譯這個工程的庫,然后再去編譯其他的工程坷襟。雖然你沒有在編譯選項里面去設(shè)置這些依賴關(guān)系奸柬。當(dāng)然如果你真的需要的話,你也可以去設(shè)置婴程,提供一個顯式的編譯依賴關(guān)系廓奕。

workspace中每個工程依然都是獨立的。如果你想單獨的使用這個工程,并且不希望影響其他工程桌粉,或者被其他工程影響蒸绩,你可以直接打開工程而不通過workspace。一個工程可以被多個workspace所擁有铃肯,在任意的組合中依然可以直接運行患亿,而不需要去重新配置工程或者workspace。

Xcode Scheme

scheme定義了編譯集合中的若干target缘薛,編譯時的一些設(shè)置以及要執(zhí)行的測試集合窍育。我們可以定義多個scheme,但是每次只能使用其中一個宴胧。我們可以設(shè)置scheme保存在project中還是workspace中漱抓。如果保存在project中,那么任意包含了這個工程的workspace都可以使用恕齐。如果保存在workspace中乞娄,那么只有這個workspace可以使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末显歧,一起剝皮案震驚了整個濱河市仪或,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌士骤,老刑警劉巖范删,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拷肌,居然都是意外死亡到旦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門巨缘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來添忘,“玉大人,你說我怎么就攤上這事若锁「槠铮” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵又固,是天一觀的道長仲器。 經(jīng)常有香客問我,道長仰冠,這世上最難降的妖魔是什么娄周? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮沪停,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己木张,他們只是感情好众辨,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舷礼,像睡著了一般鹃彻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妻献,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天蛛株,我揣著相機與錄音,去河邊找鬼育拨。 笑死谨履,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熬丧。 我是一名探鬼主播笋粟,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼析蝴!你這毒婦竟也來了害捕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤闷畸,失蹤者是張志新(化名)和其女友劉穎尝盼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佑菩,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡盾沫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倘待。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疮跑。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凸舵,靈堂內(nèi)的尸體忽然破棺而出祖娘,到底是詐尸還是另有隱情,我是刑警寧澤啊奄,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布渐苏,位于F島的核電站,受9級特大地震影響菇夸,放射性物質(zhì)發(fā)生泄漏琼富。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一庄新、第九天 我趴在偏房一處隱蔽的房頂上張望鞠眉。 院中可真熱鬧薯鼠,春花似錦、人聲如沸械蹋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哗戈。三九已至郊艘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唯咬,已是汗流浹背纱注。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胆胰,地道東北人狞贱。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像煮剧,于是被迫代替她去往敵國和親斥滤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容