平台:Mac 终端工具
终端命令行工具可以帮助我们实现自动化打包。
命令工具
xcode-select [options]
- 输出有效地开发者目录,这个目录是/Applications/Xcode.app/Contents/Developer,存在xcode安装目录下,它决定了xcode终端命令行指令应该调用哪个工具(如:xcodebuild指令,调用的是/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild),以及系统命令需要调用的一些工具。
# xcode-select -p
- 如果安装了多个版本的xcode工具,可以使用xcode-select命令指定命令行指令使用哪个版本xcode下的developer目录�下的调试工具。
# xcode-select --switch /Applications/Xcode2.app/Contents/Developer
例:
# xcode-select -p
输出终端命令行工具当前默认Xcode.app的developer路径
# xcode-select --switch /Applications/Xcode.app/Contents/Developer
选择Xcode.app安装目录下的developer目录作为终端命令行默认调用路径
# 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转换,这里使用改变环境变量的方法转换developer目录,将/usr/bin/xcodebuild指向/Applications/Xcode-2.app,然后命令会自动补齐developer目录。使用** echo $PATH**查看环境变量如下:
可以看到,/usr/bin目录已经默认添加到了系统环境变量中,所以使用xcodebuild指令等同于使用/usr/bin/xcodebuild指令。
注:一般转换了默认developer目录后,会自动关联到环境变量中。
更多信息请查看** man xcode-select **
xcrun [options] ... arguments ...
注:中括号表示可选,尖括号表示必选
xcrun工具可以让我们在终端命令行中调用开发者工具
- 从默认的开发者目录中查找或执行
中指定的工具,具体是操作属性有[options]指定。如:-f 查找并输出路径 -r 查找并执行
例:
# xcrun --find clang
查找并输出当前默认SDK的二进制编译器路径。
# xcodebuild -showsdks
列出Xcode知道的所有有效地SDK
# xcrun --sdk iphoneos --find texturetool
指定查找并输出iOS SDK下的texturetool(纹理处理插件)的路径。
# xcrun --sdk macosx --show-sdk-path
指定打印当前Mac系统对应SDK的安装位置
# xcrun git status
查找git命令并执行查看它的状态
xcodebuild
- 编译xcode项目或编译使用cocoapods管理的项目。
�示例:
# cd iosProjectFile/
进入到你的iOS项目目录(包含name.xcodeproj的目录)
# xcodebuild clean install
清空上一次的编译目录,当编译命令运行后默认使用工程的第一个taget目标文件打包安装。
# xcodebuild
或 xcodebuild -project name.xcodeproj
编译当前项目目录下的name.xcodeproj工程包,当目录下有多个.xcodeproj文件时,需要用-project选项指定选择哪个.xcodeproj文件进行编译。
默认情况下,xcodebuild编译的时候使用的是第一个目标文件target和默认的配置configuration
# xcodebuild -list
列出编译设置列表,查看target、configuration、scheme,经常和-project -worksapce -scheme配合起来使用
# xcodebuild -workspace app.xcworkspace -scheme app
cocoapods管理的项目编译打包方式,-workspace -scheme必须同时设置正确
编译成功会有如下提示
# 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文件报内容获得
注意事项:
- 实际打包过程中,使用xcodebuild归档.xcarchive和xcrun打包.ipa文件即可,注意每次打新包前先clean,归档路径和输出路径要正确
- 如果需要指定发布版本,请使用-configuration选项指定,更改sdk请使用help或man查看帮助信息。
参考文件:
xcArchive To Ipa
man命令手册