精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

XCode工程中 Targets詳解

移動(dòng)開(kāi)發(fā) iOS
本文介紹的是XCode工程中 Targets詳解,打開(kāi)一個(gè)工程后, 左側(cè)的列表中有Targets一項(xiàng),我們一起來(lái)看內(nèi)容詳解。

XCode工程中 Targets講解是本文要介紹的內(nèi)容,相信很多人都注意到XCode中, 有個(gè)Target的概念. 這在很多地方都有所體現(xiàn), 比如打開(kāi)一個(gè)工程后, 左側(cè)的列表中有Targets一項(xiàng), 而在工程界面的頂部菜單中, project里面也有多個(gè)涉及到Target的項(xiàng)目, 那么這個(gè)Target到底是什么呢? 

Apple的人是這樣說(shuō)的:“ Targets that define the products to build. A target organizes the files and instructions needed to build a product into a sequence of build actions that can be taken.”

簡(jiǎn)單的理解的話, 可以認(rèn)為一個(gè)target對(duì)應(yīng)一個(gè)新的product(基于同一份代碼的情況下). 但都一份代碼了, 弄個(gè)新product做啥呢? 折騰這個(gè)有意思么?

其實(shí)這不是單純的瞎折騰, 雖然代碼是同一份, 但編譯設(shè)置(比如編譯條件), 以及包含的資源文件卻可以有很大的差別. 于是即使同一份代碼, 產(chǎn)出的product也可能大不相同.

我們來(lái)舉幾個(gè)典型的應(yīng)用多Targets的情況吧, 比如完整版和lite版; 比如同一個(gè)游戲的20關(guān), 30關(guān), 50關(guān)版; 再或者比如同一個(gè)游戲換些資源和名字就當(dāng)新游戲賣的(喂喂, 你在教些什么...)

Targets之間, 什么相同, 什么不同

既然是利用同一份代碼產(chǎn)出不同的product, 那么到底不同Target之間存在著什么樣的差異呢?

要解釋這個(gè)問(wèn)題, 我們就要來(lái)看看一個(gè)Target指定了哪些內(nèi)容.

從XCode左側(cè)的列表中, 我們可以看到一個(gè)Target包含了Copy Bundle Resources, Compile Sources, Link Binary With Libraries. 其中

Copy Bundle Resources 是指生成的product的.app內(nèi)將包含哪些資源文件

Compile Sources 是指將有哪些源代碼被編譯

Link Binary With Libraries 是指編譯過(guò)程中會(huì)引用哪些庫(kù)文件

通過(guò)Copy Bundle Resources中內(nèi)容的不同設(shè)置, 我們可以讓不同的product包含不同的資源, 包括程序的主圖標(biāo)等, 而不是把XCode的工程中列出的資源一股腦的包含進(jìn)去.

而這還不是一個(gè)target所指定的全部?jī)?nèi)容. 每個(gè)target可以使用一個(gè)獨(dú)立, 不同的Info.plist文件. 

我們都知道, 這個(gè)Info.plist文件內(nèi)定義了一個(gè)iPhone項(xiàng)目的很多關(guān)鍵性內(nèi)容, 比如程序名稱, 最終生成product的全局***id等等.
   
而且不同的target還可以定義完整的差異化的編譯設(shè)置, 從簡(jiǎn)單的調(diào)整優(yōu)化選項(xiàng), 到增加條件編譯所使用的編譯條件, 以至于所使用的base SDK都可以差異化指定.

創(chuàng)建第二個(gè)Target

為什么是第二個(gè)? 因?yàn)?**個(gè)就是創(chuàng)建好工程后的默認(rèn)Target呀! (廢話這么多, 拖走...)

創(chuàng)建target有多種方法, 我們可以從現(xiàn)有的target上復(fù)制出一份, 然后略加改動(dòng), 也可以完全新建一個(gè)target出來(lái). 但其實(shí)說(shuō)穿了, 兩個(gè)方法大同小異

首先我們來(lái)看看利用復(fù)制的方法創(chuàng)建target

利用復(fù)制創(chuàng)建target

我們?cè)赬Code左側(cè)的列表中, 展開(kāi) Targets 項(xiàng), 在現(xiàn)有的target上, 右鍵選擇 "Duplicate", 或者選中現(xiàn)有target后, 在頂部菜單的Edit內(nèi)選擇"Duplicate"也可以.

此時(shí)我們就得到了一個(gè)新的target, 而在Resource里面也會(huì)得到一個(gè) xxxx copy.plist. 這個(gè)新的target與原有的target是完全一致的, 余下的就是一些差異化的修改, 這個(gè)我們后面再說(shuō)

創(chuàng)建全新的target

類似復(fù)制的方法, 我們可以在左側(cè)的列表中很多地方按下右鍵菜單, 都可以看到Add中會(huì)有"New Target..."一項(xiàng), 而在工程頂部菜單的Project內(nèi), 也可以看到這個(gè)"New Target..."的身影.

點(diǎn)擊后, 首先會(huì)讓你選擇target的類型, 既然我一直所指的都是程序本身, 那么自然選擇Application了(至于其他的嘛, 有興趣的自己研究吧, 比如我們可以把程序中的部分提取成一個(gè)Static Library).

Next后, 會(huì)讓你輸入一個(gè)新的Target的名字, 而不像復(fù)制的方法中, 默認(rèn)生成 xxxxx copy這樣的target名.

但是這樣生成出的Target幾乎是空的. Copy Bundle Resources, Compile Sources, Link Binary With Libraries里面都沒(méi)有任何內(nèi)容. 編譯設(shè)置也是完全原始的狀態(tài).

可以通過(guò)拖拽內(nèi)容到這些target的設(shè)置中, 以及調(diào)整編譯選項(xiàng)來(lái)完成Target的配置。

Target中部分內(nèi)容的修改方法

其實(shí)這段的部分內(nèi)容, 在非多Targets的工程中也可能會(huì)用得到.

由于修改基本都是在工程/編譯設(shè)置中完成, 因此沒(méi)有特殊情況, 就不再聲明了, 打開(kāi)target對(duì)應(yīng)的工程/編譯設(shè)置的方法可以采用在該target上右鍵, 選擇get info來(lái)做到.

生成的product名稱的修改: Packing段內(nèi)的Product Name一項(xiàng)

Info.plist文件名: Packing段內(nèi)的Info.plist File一項(xiàng), 比如復(fù)制出來(lái)的target覺(jué)得那個(gè)xxxxx copy.plist太傻就可以在這里改

條 件編譯: 增加一個(gè)User-Defined Setting(Target "xxxx" Info的build頁(yè)的左下角那個(gè)齒輪中可以看到這個(gè)內(nèi)容), 在Other C Flag里面填入, 比如要定義一個(gè)叫做LITE_VERSION的define值, 我們可以寫(xiě)上 "-DLITE_VERSION" 或 "-DLITE_VERSION=1". 那么在程序中就可以用

  1. #if defined(LITE_VERSION)   
  2. #else   
  3. #endif  

這樣的條件編譯來(lái)部分差異化代碼了

也許有些朋友記得我在代碼區(qū)貼過(guò)的檢測(cè)破解版的代碼, 其中有一種檢測(cè)方法就是看info.plist是文本還是二進(jìn)制的, 那么我們能否建議一個(gè)模擬破解的target, 直接生成文本的info.plist以便測(cè)試呢?

當(dāng)然可以, 在packing段內(nèi), 有一項(xiàng)叫"Info.plist Output Encoding", 默認(rèn)值是Binary, 我們只要選成xml, 那么生成出的product.app內(nèi)的info.plist就直接是文本樣式的了.

另外, 向Copy Bundle Resources, Compile Sources, Link Binary With Libraries內(nèi)添加/刪除文件, 可以在要改動(dòng)的文件上, 選擇get info, 并且切換到Target頁(yè), 勾選要引用這個(gè)文件的target即可. 比如icon.png可以指定給默認(rèn)target, 而icon_lite.png指定給lite verion的target

小結(jié):XCode工程中 Targets講解的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!更多相關(guān)內(nèi)容請(qǐng)參考編輯推薦。

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-10972-fpage-0-toread--page-1.html

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2013-02-25 13:00:14

iOS開(kāi)發(fā)xcode

2011-07-07 09:20:30

Xcode

2023-02-08 18:08:16

2011-07-28 14:31:55

Xcode 調(diào)試 異常

2011-07-19 15:44:18

Xcode 卸載

2016-03-31 09:18:11

xcodetargets管理

2011-08-18 10:26:43

XCode

2011-08-08 17:31:30

Xcode 工程

2011-07-26 14:44:53

調(diào)試 Xcode

2011-08-04 18:09:32

Xcode 技巧 文檔

2011-08-01 16:24:04

XCode CodeTimer 測(cè)試

2011-08-11 13:10:34

XcodeSVN

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用

2011-07-22 18:41:11

Xcode 文檔 腳本

2013-04-08 10:27:59

iOSXcode制作靜態(tài)庫(kù)

2011-08-09 16:58:22

XCodeSDK

2011-07-28 13:47:20

Xcode Interface

2011-07-28 14:06:52

XCode XCode 3.2

2011-07-06 17:48:30

iPhone Xcode 模擬器

2011-08-18 10:47:48

Xcode 4靜態(tài)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

www.日本在线播放| 亚洲综合精品伊人久久| 色一情一交一乱一区二区三区| 欧美三区四区| 一区二区三区中文字幕精品精品 | 欧美男女视频| 一区二区三区四区视频精品免费| 久久国产精品免费一区| 91久久精品无码一区二区| 黄色精品免费| 日韩在线视频一区| 深田咏美中文字幕| 日韩免费在线电影| 好吊成人免视频| 神马午夜伦理影院| 九色国产在线观看| 丁香婷婷综合网| 国产精品亚洲美女av网站| 豆国产97在线 | 亚洲| 成人精品亚洲| 日韩成人黄色av| 久久成年人网站| 欧美三级网址| 亚洲一二三四在线观看| 中文精品一区二区三区| 久青青在线观看视频国产| 粉嫩aⅴ一区二区三区四区五区| 国产精品久久久久77777| 日韩av黄色片| 国产精品第十页| 精品精品国产国产自在线| 五月天综合视频| 老汉色老汉首页av亚洲| 日韩美女在线视频| 天堂在线一区二区三区| 亚洲欧美在线成人| 一本色道久久综合亚洲91| 毛片av在线播放| 超碰在线最新| 国产精品福利在线播放| 色一情一区二区三区四区 | 一区二区欧美久久| 中文字幕国产综合| 欧美网色网址| 亚洲国模精品私拍| 国产免费a级片| 午夜精品在线| 精品黑人一区二区三区久久| 亚洲制服在线观看| 精品中文字幕一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产精品v日韩精品v在线观看| 性感美女一区二区在线观看| 色综合天天性综合| 国产视频在线视频| 婷婷激情一区| 欧美色大人视频| 九九九九九国产| 日本中文字幕视频一区| 在线综合+亚洲+欧美中文字幕| 日韩中文字幕a| 成人激情久久| 欧美一区二区播放| 99riav国产精品视频| 国产精品中文字幕制服诱惑| 日韩av网址在线观看| theav精尽人亡av| 神马影视一区二区| 亚洲性69xxxbbb| 国产又黄又粗的视频| 日韩欧美一区二区三区免费看| 中文字幕亚洲第一| 四虎884aa成人精品| 亚洲视频碰碰| 欧美中文在线字幕| 伊人成人在线观看| 极品少妇一区二区三区精品视频 | 亚洲免费福利一区| 亚洲全黄一级网站| 中文字幕第69页| 中文一区一区三区免费在线观看| 欧美国产视频日韩| 日本中文字幕第一页| 免费观看30秒视频久久| 91在线视频精品| 天堂在线观看av| 国产欧美日本一区视频| 米仓穗香在线观看| 成人性生活视频| 911国产精品| 国产中文字幕一区二区| 色喇叭免费久久综合| 欧美激情在线播放| 中国a一片一级一片| 粉嫩高潮美女一区二区三区| 青青草原亚洲| 国产精品69xx| 欧美性做爰猛烈叫床潮| 免费在线观看日韩av| 国产一区二区在线| 欧美激情欧美狂野欧美精品| 中文字幕一区二区人妻电影| 国产麻豆欧美日韩一区| 美女主播视频一区| a毛片在线看免费观看| 色婷婷久久久久swag精品| 午夜av中文字幕| 自拍欧美一区| 欧美激情视频一区二区| 亚洲一区二区影视| 99re这里都是精品| www婷婷av久久久影片| 性欧美超级视频| 亚洲成色www8888| 国产精品国产三级国产传播| 国产欧美三级| 亚洲一区二区三区久久| 浮生影视网在线观看免费| 亚洲二区在线视频| 日本亚洲一区二区三区| 日本一区二区高清不卡| 日本久久91av| 日批视频免费播放| 一区二区高清在线| 亚洲另类第一页| 精品国产精品| 欧美一级bbbbb性bbbb喷潮片| www.成人在线观看| 亚洲图片你懂的| 天天干天天干天天干天天干天天干| 91欧美日韩在线| 久久国产色av| 91影院在线播放| 国产精品天美传媒| 欧美性猛交xxx乱久交| 欧美美乳视频| 日本老师69xxx| 青青草娱乐在线| 欧美午夜宅男影院在线观看| 六十路息与子猛烈交尾| 国产精品av久久久久久麻豆网| 91九色国产视频| 巨大荫蒂视频欧美大片| 欧美久久一二区| 免费国产羞羞网站美图| 激情深爱一区二区| 自拍偷拍一区二区三区| 日韩成人一区| 欧美大胆a视频| aaa级黄色片| 亚洲激情五月婷婷| 日本一级大毛片a一| 影音先锋在线一区| 久久成人资源| 性欧美hd调教| 播播国产欧美激情| 99国产精品久久久久99打野战| 亚洲女爱视频在线| 少妇欧美激情一区二区三区| 韩国欧美一区| 国产一区二区三区色淫影院 | 国产精品一区av| 午夜视频在线观看网站| 91精品免费在线观看| 欧美老熟妇一区二区三区| 国产精品456| 日本www在线视频| 亚洲图片久久| 国产一区视频在线播放| 在线观看h网| 亚洲精品国产综合久久| 亚洲午夜无码久久久久| 亚洲天堂2014| 国产性生活毛片| 人人精品人人爱| 黄色网络在线观看| 精品亚洲免a| 国产999精品| av网站网址在线观看| 亚洲黄一区二区| 自拍偷拍色综合| 一卡二卡欧美日韩| 日韩av在线看免费观看| 激情久久五月天| 日本韩国欧美在线观看| 日韩精品欧美激情一区二区| 999在线免费观看视频| 少妇视频在线观看| www.亚洲男人天堂| 天天干在线观看| 欧美日韩精品一区视频| 久久网一区二区| 国产亚洲va综合人人澡精品| 91人妻一区二区三区| 西西人体一区二区| 亚洲小视频在线播放| 中文精品一区二区| julia一区二区中文久久94| **欧美日韩在线观看| 色综合色综合久久综合频道88| 日本福利在线观看| 日韩一级片在线播放| 人人爽人人爽人人片av| 一区二区三区中文字幕在线观看| 国产毛片久久久久久久| 国产精品系列在线播放| 久久久国产欧美| 激情欧美国产欧美| 2025韩国大尺度电影| 日韩美女毛片| 国产精品swag| 亚洲成人毛片| 国产精品成人一区二区| 国产调教在线| 久久99久久99精品中文字幕| 午夜国产福利在线| 亚洲欧洲日韩国产| 性xxxx18| 精品99999| av中文字幕免费在线观看| 欧美性色黄大片| 色一情一乱一伦| 亚洲一区二区三区四区五区中文| 91久久久久久久久久久久久久| 91免费在线看| 又色又爽又黄18网站| 九九视频精品免费| youjizzxxxx18| 日韩电影在线观看一区| 天天摸天天碰天天添| 99国产精品自拍| 欧美日韩福利在线| 亚洲特色特黄| 国产在线观看欧美| 91精品国产乱码久久久久久| 亚洲精品成人久久久998| 国产精品欧美日韩一区| 久久久水蜜桃| 日韩影视在线观看| 久久99精品久久久久久三级| 国产一级成人av| 国产视频一区二区不卡| 国产精品自在| 国产一级特黄a大片99| 精品欧美午夜寂寞影院| 国产一区二区黄色| 丝袜久久网站| 欧美 日韩 国产在线| 国产精品美女久久久久久不卡 | 黄色av网址在线观看| 成人污视频在线观看| 欧美激情 亚洲| 99精品国产91久久久久久| 亚洲国产欧美视频| 久久久久国产精品免费免费搜索| japanese中文字幕| 国产精品免费视频网站| 精品一区二区在线观看视频| 亚洲欧洲美洲综合色网| 日韩女优一区二区| 亚洲精品久久久蜜桃| 精品少妇一二三区| 富二代精品短视频| 一区二区三区麻豆| 欧美日韩国产影片| 精品人妻一区二区三区日产乱码| 精品国产污污免费网站入口| 欧美特级特黄aaaaaa在线看| 亚洲精品自产拍| 婷婷成人激情| 欧美激情视频在线| 男人皇宫亚洲男人2020| 国产精品爽爽爽| 亚洲精品a区| 欧美成人在线免费观看| 久久一区二区三区喷水| 成人在线观看毛片| 亚洲一区欧美二区| 粉色视频免费看| 成人黄色在线看| b站大片免费直播| 亚洲欧美日韩国产另类专区 | 欧美日韩国产一区二区三区地区| 性一交一乱一乱一视频| 亚洲免费视频观看| 免费在线看黄网站| 97视频在线观看成人| 国产资源一区| 精品国产一区二区三区免费| 色婷婷综合网| 成人免费视频91| 久久精品国内一区二区三区| 性色av蜜臀av浪潮av老女人| 国产精品久线观看视频| 国产精品黄色大片| 91精品欧美一区二区三区综合在| 男人的天堂在线免费视频| 久久国产精品久久久| 偷拍视频一区二区三区| 97超碰人人看人人| 日韩在线看片| 国产最新免费视频| 国产精选一区二区三区| 纪美影视在线观看电视版使用方法| 亚洲国产va精品久久久不卡综合| 中文字幕有码视频| 日韩电影中文字幕在线| wwwav在线| 国产精品亚洲第一区| 免费一区二区三区视频导航| 久久人妻无码一区二区| 美腿丝袜亚洲一区| 少妇光屁股影院| 亚洲高清免费一级二级三级| 国产精品久久久国产盗摄| 亚洲精品福利免费在线观看| caoporn免费在线| 国产精品视频精品| 神马影视一区二区| av动漫在线看| 粉嫩aⅴ一区二区三区四区| 久久精品黄色片| 欧美精品一二三| 北岛玲一区二区三区| 奇米一区二区三区四区久久| 男人的天堂久久| 国产一线二线三线女| 国产不卡视频在线观看| 一区视频免费观看| 91精品中文字幕一区二区三区| 婷婷激情在线| 成人欧美一区二区三区在线湿哒哒| 成人网18免费网站| www.99av.com| 国产亚洲女人久久久久毛片| 久久国产视频一区| 日韩精品免费在线视频| 黄色软件视频在线观看| 国新精品乱码一区二区三区18| 好看不卡的中文字幕| 三上悠亚 电影| 亚洲精品精品亚洲| 精品国产乱码久久久久久蜜臀网站| 久久精品一区中文字幕| 福利一区三区| 超碰超碰超碰超碰超碰| 国产一区欧美一区| 日韩黄色免费观看| 精品久久久久久综合日本欧美| 污视频免费在线观看| 国产精品久久久久免费| 在线成人欧美| 香蕉视频黄色在线观看| 日本道精品一区二区三区| 国产大片在线免费观看| 国产精品日韩精品| 911精品美国片911久久久| 色婷婷综合在线观看| 亚洲综合免费观看高清完整版在线| 亚洲乱色熟女一区二区三区| 色综合天天狠天天透天天伊人| 国产一级成人av| 欧美一级片中文字幕| 国产精品久久久久影院| 国产成人久久精品77777综合| 久久频这里精品99香蕉| 欧美日韩播放| 男人午夜视频在线观看| 亚洲成av人片在线| 户外极限露出调教在线视频| 成人黄色av网| 在线看片欧美| jizzjizzjizz国产| 日韩免费视频线观看| av综合电影网站| 浴室偷拍美女洗澡456在线| 懂色一区二区三区免费观看| 亚洲成人第一网站| 久久精品国产免费观看| 国产精品白丝av嫩草影院| 日韩有码免费视频| 亚洲日本在线观看| 视频福利在线| 成人性教育视频在线观看| 天堂а√在线中文在线鲁大师| 岛国av午夜精品| sese在线视频| 国产精品久久久一区二区三区| 石原莉奈一区二区三区在线观看| 黄色a级片在线观看| 亚洲国产精品中文| 欧美激情福利| 欧美精品久久久久久久免费| 中文字幕人成不卡一区| 天天操天天干天天舔| 国产在线久久久| 西西人体一区二区| 国产性一乱一性一伧一色| 综合欧美国产视频二区| 日韩大片在线免费观看|