平臺:Mac 終端工具
終端命令行工具可以幫助我們實現(xiàn)自動化打包。
命令工具
xcode-select [options]
- 輸出有效地開發(fā)者目錄绰咽,這個目錄是/Applications/Xcode.app/Contents/Developer八堡,存在xcode安裝目錄下旷档,它決定了xcode終端命令行指令應(yīng)該調(diào)用哪個工具(如:xcodebuild指令,調(diào)用的是/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild),以及系統(tǒng)命令需要調(diào)用的一些工具奴饮。
# xcode-select -p
- 如果安裝了多個版本的xcode工具襟交,可以使用xcode-select命令指定命令行指令使用哪個版本xcode下的developer目錄?下的調(diào)試工具迈倍。
# xcode-select --switch /Applications/Xcode2.app/Contents/Developer
例:
# xcode-select -p
輸出終端命令行工具當(dāng)前默認Xcode.app的developer路徑
# xcode-select --switch /Applications/Xcode.app/Contents/Developer
選擇Xcode.app安裝目錄下的developer目錄作為終端命令行默認調(diào)用路徑
# xcode-select --switch /Applications/Xcode.app
功能同上,xcode-select命令會自動補齊developer目錄
# /usr/bin/xcodebuild
或 # xcodebuild
不進入到Xcode.app的developer目錄,即目錄外運行xcodebuild命令
# /usr/bin/xcrun --find xcodebuild
或 # xcrun -f xcodebuild
定位xcodebuild工具在developer目錄中的路徑
# env DEVELOPER_DIR="/Applications/Xcode-2.app" /usr/bin/xcodebuild
功能等同于使用xcode-select轉(zhuǎn)換捣域,這里使用改變環(huán)境變量的方法轉(zhuǎn)換developer目錄啼染,將/usr/bin/xcodebuild指向/Applications/Xcode-2.app,然后命令會自動補齊developer目錄焕梅。使用** echo $PATH**查看環(huán)境變量如下:
可以看到迹鹅,/usr/bin目錄已經(jīng)默認添加到了系統(tǒng)環(huán)境變量中,所以使用xcodebuild指令等同于使用/usr/bin/xcodebuild指令丘侠。
注:一般轉(zhuǎn)換了默認developer目錄后徒欣,會自動關(guān)聯(lián)到環(huán)境變量中。
更多信息請查看** man xcode-select **
xcrun [options] <tool name> ... arguments ...
注:中括號表示可選蜗字,尖括號表示必選
xcrun工具可以讓我們在終端命令行中調(diào)用開發(fā)者工具
- 從默認的開發(fā)者目錄中查找或執(zhí)行 <tool name>中指定的工具打肝,具體是操作屬性有[options]指定。如:-f 查找并輸出路徑 -r 查找并執(zhí)行
例:
# xcrun --find clang
查找并輸出當(dāng)前默認SDK的二進制編譯器路徑挪捕。
# xcodebuild -showsdks
列出Xcode知道的所有有效地SDK
# xcrun --sdk iphoneos --find texturetool
指定查找并輸出iOS SDK下的texturetool(紋理處理插件)的路徑粗梭。
# xcrun --sdk macosx --show-sdk-path
指定打印當(dāng)前Mac系統(tǒng)對應(yīng)SDK的安裝位置
# xcrun git status
查找git命令并執(zhí)行查看它的狀態(tài)
xcodebuild
- 編譯xcode項目或編譯使用cocoapods管理的項目。
?示例:
# cd iosProjectFile/
進入到你的iOS項目目錄(包含name.xcodeproj的目錄)
# xcodebuild clean install
清空上一次的編譯目錄级零,當(dāng)編譯命令運行后默認使用工程的第一個taget目標(biāo)文件打包安裝断医。
# xcodebuild
或 xcodebuild -project name.xcodeproj
編譯當(dāng)前項目目錄下的name.xcodeproj工程包滞乙,當(dāng)目錄下有多個.xcodeproj文件時,需要用-project選項指定選擇哪個.xcodeproj文件進行編譯鉴嗤。
默認情況下斩启,xcodebuild編譯的時候使用的是第一個目標(biāo)文件target和默認的配置configuration
# xcodebuild -list
列出編譯設(shè)置列表,查看target醉锅、configuration兔簇、scheme,經(jīng)常和-project -worksapce -scheme配合起來使用
# xcodebuild -workspace app.xcworkspace -scheme app
cocoapods管理的項目編譯打包方式,-workspace -scheme必須同時設(shè)置正確
編譯成功會有如下提示
# xcodebuild -workspace app.xcworkspace -scheme app archive -archivePath dir/archivePath/MyAPP.xcarchive
歸檔打包命令硬耍,成功會生成一個.xcarchive的文件
# xcrun -sdk iphoneos PackageApplication dir/ArchivePath/MyApp_debug.xcarchive/Products/Applications/app.app -o dir/Ipa/myapp_debug.ipa
使用xcrun命令打包ipa文件, .app文件通過顯示.xcarchive文件報內(nèi)容獲得
注意事項:
- 實際打包過程中垄琐,使用xcodebuild歸檔.xcarchive和xcrun打包.ipa文件即可,注意每次打新包前先clean,歸檔路徑和輸出路徑要正確
- 如果需要指定發(fā)布版本经柴,請使用-configuration選項指定狸窘,更改sdk請使用help或man查看幫助信息。
參考文件:
xcArchive To Ipa
man命令手冊