xcodebuild

xcodebuild是一個命令行工具尊剔,可以用來對Xcode工程或工作區(qū)進(jìn)行編譯爪幻、查找、分析、測試等各種操作挨稿。

workspace 是最大的集合仇轻,其可以包含多個 projet,同時可以管理不同的 project 之間的關(guān)系奶甘。workspace 是以 xcworkspace 的文件形式存在的篷店。workspace 的存在是為了解決原來僅有 project 的時候不同的 project 之間的引用和調(diào)用困難的問題

project是Xcode對一些代碼文件、資源臭家、配置信息的一個管理倉庫疲陕,可以用來編譯產(chǎn)出一個或多個產(chǎn)品。Project包含了多個targets钉赁,project有一個被所有targets公用的build setting蹄殃。

targets 表示如何產(chǎn)出一個具體產(chǎn)品,決定了如何對文件進(jìn)行編譯(編譯那幾個文件橄霉,使用什么編譯腳本)(通過自己的build setting 和從project繼承的build setting)

configuration 可以對project和targets中

scheme(方案)它不同于上面四個窃爷,表示一個組合方案表示那些targets使用什么 build configuration與 executable configuration 邑蒋。An Xcode scheme defines a collection of targets to build, a configuration to use when building, and a collection of tests to execute.可以針對編譯姓蜂,運(yùn)行,單元測試医吊,動態(tài)分析钱慢,靜態(tài)代碼分析以及打包進(jìn)行一些配置

命令參數(shù)

xcodebuild [-project projectname] [-target targetname...] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction...] [setting=value...] [-userdefault=value...]?

?xcodebuild [-project projectname] -scheme schemename [-destination destinationspecifier] [-destination-timeout value] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction...] [setting=value...] [-userdefault=value...]?

?xcodebuild -workspace workspacename -scheme schemename [-destination destinationspecifier] [-destination-timeout value] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction...] [setting=value...] [-userdefault=value...]?

?xcodebuild -version [-sdk [sdkfullpath | sdkname]] [infoitem]?

?xcodebuild -showsdks?

?xcodebuild -list [-project projectname | -workspace workspacename]

?xcodebuild -exportArchive -exportFormat format -archivePath xcarchivepath -exportPath destinationpath [-exportProvisioningProfile profilename] [-exportSigningIdentity identityname] [-exportInstallerIdentity identityname]

命令介紹

xcodebuild 構(gòu)建Xcode project中的一個或多個targets, 也可以構(gòu)建Xcode workspace或Xcode project的一個scheme。?

要構(gòu)建一個Xcode project, 在你的工程目錄下運(yùn)行xcodebuild. 如果這個目錄下有多個project文件則可以使用-project參數(shù)用來區(qū)分你要編譯哪個project. 默認(rèn)情況下,xcodebuild 構(gòu)建project中列出的第一個target, 并且使用默認(rèn)的build configuration. targets在project中的順序是project的一個屬性對所有的使用者來說這個順序是相同的卿堂。?

要構(gòu)建一個Xcode workspace, 必須要使用參數(shù)-workspace 和 -scheme 指定構(gòu)建束莫。 scheme 控制了需要編譯那些targets以及這個targets如何被編譯。不過也可以通過 xcodebuild的其他參數(shù)來從新指定scheme的一些屬性.

使用:

需要了解的是草描,archive 工程后览绿,實際上我們是把整個工程編譯,然后簽名穗慕,變成了一個后綴名為 xcarchive 的文件饿敲。通過調(diào)用以下命令,我們將整個工程編譯逛绵,簽名怀各,然后將生成的 xcarchive 文件放到工程根路徑下的 build 文件夾里。

xcodebuild?-scheme XXX ?-archivePath?build/YYY.xcarchive?archive

參數(shù)說明:XXX 就是工程的 scheme 的名字术浪,在 Xcode 中可以看到,YYY你可以自己隨意起個名字

如果工程使用了 Cocoapods 來管理第三方庫瓢对,那么命令的執(zhí)行方式上有所不同,因為 Cocoapods 會把工程變成一個 workspace胰苏。將 workspace 工程 archive 的命令如下硕蛹。

1xcodebuild?-workspace??-scheme??-archivePath?build/.xcarchive?archive

這個命令和上面的命令區(qū)別就在于需要指定 workspace 的文件名。

上面這兩個命令適用于不同類型的工程: workspace 或者非 workspace。執(zhí)行中讀取的配置都是在工程的 Target 或者 Scheme 中設(shè)置好的配置法焰。

(scheme基本就是你的工程名僵腺,大家可以看一下參考文章,我就不單截圖了)

先到這里吧壶栋,目前就試了一個功能辰如,后續(xù)有新功能再加進(jìn)來

動手搭建 iOS CI 環(huán)境之「了解 xcodebuild 命令」 - CocoaChina_讓移動開發(fā)更簡單

Xcode9 xcodebuild 命令行打包遇到的坑與解決方案 - CSDN博客

xcodebuild使用總結(jié) - CSDN博客

iOS使用xcodebuild命令打包 - CSDN博客

了解 xcodebuild 命令 ,自動打包ipa - 湯冉陽 - 博客園

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贵试,隨后出現(xiàn)的幾起案子琉兜,更是在濱河造成了極大的恐慌,老刑警劉巖毙玻,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豌蟋,死亡現(xiàn)場離奇詭異,居然都是意外死亡桑滩,警方通過查閱死者的電腦和手機(jī)梧疲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來运准,“玉大人幌氮,你說我怎么就攤上這事⌒舶模” “怎么了该互?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長韭畸。 經(jīng)常有香客問我宇智,道長,這世上最難降的妖魔是什么胰丁? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任随橘,我火速辦了婚禮,結(jié)果婚禮上锦庸,老公的妹妹穿的比我還像新娘机蔗。我一直安慰自己,他們只是感情好酸员,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布蜒车。 她就那樣靜靜地躺著,像睡著了一般幔嗦。 火紅的嫁衣襯著肌膚如雪酿愧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天邀泉,我揣著相機(jī)與錄音嬉挡,去河邊找鬼钝鸽。 笑死,一個胖子當(dāng)著我的面吹牛庞钢,可吹牛的內(nèi)容都是我干的拔恰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼基括,長吁一口氣:“原來是場噩夢啊……” “哼颜懊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起风皿,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤河爹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后桐款,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咸这,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年魔眨,在試婚紗的時候發(fā)現(xiàn)自己被綠了媳维。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡遏暴,死狀恐怖侄刽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拓挥,我是刑警寧澤唠梨,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布袋励,位于F島的核電站侥啤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏茬故。R本人自食惡果不足惜盖灸,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磺芭。 院中可真熱鬧赁炎,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盒揉。三九已至,卻和暖如春瞒滴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工吴旋, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留损肛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓荣瑟,卻偏偏與公主長得像治拿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笆焰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

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

  • XCODEBUILD通用命令指南 名字 xcodebuild 構(gòu)建Xcode項目和工作空間 大綱 描述 xcode...
    許漠顏閱讀 9,272評論 1 12
  • 1劫谅、xcodebuild 簡介 在終端中輸入man xcodebuild 查看其 man page介紹 NAME ...
    暗物質(zhì)閱讀 10,575評論 7 20
  • XcodeBuild命令介紹 原料:Xcode 7.3 Build version 7D175 使用方法一: 使用...
    影之封封閱讀 15,292評論 0 27
  • 手動給測試打包還是太費(fèi)事了,尤其是項目要發(fā)布前嚷掠,一天都要打N次包同波,還要上傳蒲公英這類托管平臺 給測試MM掃碼下載。...
    nemie閱讀 2,293評論 0 0
  • 官方主頁 OS X Man Pages\Xcode Tools 怎么通過 Command line來創(chuàng)建我的工程叠国?...
    ZMJun閱讀 3,760評論 0 7