本文主要是介绍iOS自动构建以及打包命令(xcodebuild,xcrun),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
两个命令的语法以及使用方法,资料比较多,到处都可以找到,比如:
iOS 自动构建命令——xcodebuild
基于xcodebuild和xcrun的自动化打包
iphone-命令行编译之--xcodebuild
xcodebuild负责将工程源文件编译成xxx.app
xcrun负责给xxx.app(签名并)打包成xxx.ipa
构建APP
xcodebuild(1) Mac OS X Developer Tools Manual Page
1. build Xcode项目
构建一个Xcode项目,在项目目录下运行xcodebuild
就可以了
xcodebuild [-project projectname] [-target targetname ...] [-configuration configurationname][-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...][-userdefault=value ...]
如果是单target单schema,直接xcodebuild不指定任何参数,就生成relaase版本真机模式的app
比如:
(1)"CompileC"使用"clang"编译每个文件
(2) "LD":链接成不同架构
(3) "lipo":创建通用库
(4) 处理资源
ibtool处理storyboard文件,actool处理Assets文件
(4) "dsymutil":生成dSYM文件
(5) 链接资源
(6) 签名、验证
至此,build结束
2. build workspace
如果要构建workspace,你必须指定-workspace
和-scheme
参数
xcodebuild -workspace workspacename -scheme schemename [-destination destinationspecifier][-destination-timeout value] [-configuration configurationname][-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...][-userdefault=value ...]
比如:
注意:workepacename是指带 .xcworkspace后缀的完整名字
3. xcpretty
xcpretty is a fast and flexible formatter for xcodebuild
其实就是用来格式化(美化)xcodebuild命令行工具输出日志的一个小工具,安装命令:
gem install xcpretty
更多使用方法见项目首页: https://github.com/supermarin/xcpretty
xcodebuild输出日志如下图所示:
是不是“惨不忍睹”啊,那用 xcpretty表现一下吧,执行如下命令:
xcodebuild | xcpretty
打包IPA
xcrun工具
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径
xcodebuild
(2)执行 xcodebuild archive -scheme "xxx" -configuration "Release" -archivePath "xxx/1.xcarchive"
其中 scheme 参数需要对应到工程 mobile target 名称
这个命令就相当于Xcode中的"Archive"菜单
它和PackageApplication的不同之处在于:
(3) 执行 xcodebuild -exportArchive -archivePath "xxx/1.xcarchive" -exportPath "xxx/1.ipa" -exportFormat IPA -exportProvisioningProfile "XC: *"
其中 archivePath 跟上个命令参数对应
这篇关于iOS自动构建以及打包命令(xcodebuild,xcrun)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!