在iOS中打包是一件繁琐且重复耗时的工作,而且手动操作还会遇到一些操作错误的问题。而且随着iOS的渠道增多更加会浪费额外的时间,在前面的文中有讲到过使用jenkins或者fastlane打包的工具,那么本篇将会讲解如果通过xcode提供的的shell编译工具xcodebuild,xcrun,xcrun simtil等进行相应的打包自动化操作。下面会简单的列举一些操作,更多请查看对应的–help。
xcodebuild
xcodebuild负责将工程源文件编译成xxx.app
在terminate中输入以下命令xcodebuild –help:
1 | tianww@tortoise-MacBook-Pro xcodebuild --help |
可以查看的到xcodebuild的相关的可用命令:
显示xcodebuildversion:xcodebuild –version
显示当前系统安装的sdk:xcodebuild –showsdks
显示当前目录下project Information:xcodebuild –list
需要注意以上命令是需要在当前的工程.xcodeproj下执行
清理iphoneos下的.app文件xcodebuild clean
1 | $xcodebuild clean -workspace BeiBeiAPP.xcworkspace -scheme beibei -configuration release -sdk iphoneos SYMROOT=`pwd`/build_yueyu |
以下是通过xcodebuild生成workspace类型的.app文件,注意如果是xcodeproj类型打包的话就选择-project
,注意此时需要设置好项目的codesign选择自动即可。
1 | $xcodebuild -workspace BeiBeiAPP.xcworkspace -scheme beibei -configuration release -sdk iphoneos build SYMROOT=`pwd`/build_yueyu |
xcrun
xcrun负责给xxx.app(签名)并打包成xxx.ipa
在terminate中输入以下命令xcrun –help,可以查看到xcrun的相关所有的命令:
1 | tianww@tortoise-MacBook-Pro xcrun --help |
以下通过.app文件生成ipa文件,并且签名的操作
1 | /usr/bin/xcrun -sdk iphoneos PackageApplication -v "$distDir/$appName.app" -o "$distDir/$channelId.ipa" --sign "09E378E966D47195A553BE0EF9F0790D4997A9B5" |
其中,参数 v 就是 build 结果中最后一行 app 文件的路径,参数 o 是生成的 ipa 文件的路径。
xcrun simctl
通过xcrun simtil相关命令可以调度模拟器的操作,包括安装卸载启动等。
在terminate中输入以下命令xcrun simctl –help,可以查看到xcrun simctl的相关所有的命令:
1 | tianww@tortoise-MacBook-Pro xcrun simctl --help |
如下简单的写了一个自动启动模拟器,并安装相关APP,并且自动启动的shell脚本:
1 | echo "ouput xcrun instuments list-->" |