xcodebuild 是苹果官方提供的 Xcode 项目和工作空间(workspace)编译工具,是 Xcode 自带的非图形化命令行编译工具。
常用打包方式
Product ——>Archive ——>Upload to AppStore / Export
自动打包流程
目前xcode9已经可以自己创建管理证书了,所以在流程中省略了证书及描述文件配置
1.自动化打包脚本
#!/bin/sh
#需要接受3个参数 1、scheme名 2、工程目录 3、工程名字
#project目录PROJECT_PATH=$1
#project名称
PROJECT_NAME=$2
#scheme名称SCHEME_NAME=$3
#现在时间(做文件夹名称使用)DATE=`date +%Y%m%d%H%M`
#归档文件地址
ARCHIVE_PATH=$PROJECT_PATH/$DATE/$SCHEME_NAME
#通过archive归档出对应的xcarchive文件
#对应步骤:
#1、清理工程
#2、归档工程
#3、工程名称
#4、设置工程Scheme
#5、设置Debug或者Release模式
#6、归档输出地址
#7、特殊设置,可忽略,为了让过程更清晰
xcodebuild clean \
archive \
-project"$PROJECT_PATH/$PROJECT_NAME"\
-scheme"$SCHEME_NAME"\
-configuration"Release"\
-archivePath"$ARCHIVE_PATH"\
| xcprettyecho"--------------------------------------"
#通过归档文件打包出对应的ipa文件#对应步骤:
#1、打包命令
#2、归档文件地址
#3、ipa输出地址
#4、ipa打包设置文件地址xcodebuild -exportArchive \
-archivePath"$ARCHIVE_PATH.xcarchive"\
-exportPath"$PROJECT_PATH/$DATE"\-exportOptionsPlist"$PROJECT_PATH/
ExportOptions.plist"open$PROJECT_PATH
前排提示:需要确保工程在没使用脚本的情况下也可以成功的进行归档与打包,脚本只是为了简化过程
2.将Archive文件夹中的文件拖入项目的根目录下
3.修改脚本中的一下基本配置(项目名称、debug模式等)
4.cd到工程根目录,通过./shell.sh 执行脚本
5.end
过程图解
下面用导出ipa包的过程举个例子,appstore和fir大同小异。
打开shell.sh脚本文件,修改相关配置。
⚠️:当我们在窗口中对xcode进行操作时,Xcode内部是执行了xcodebuild命令,脚本打包原理其实就是将xcodebuild命令统一放到一个脚本文件中,运行这个脚本文件,执行一系列操作。
xcodebuild 命令的使用
在 CI 方面,这个命令的用途显得格外中套,当然,你也可以使用 xcrun 或者 xctool,本文仅简单记录 xcodebuild 的常规使用。
1.查看可用的SDK
xcodebuild -showsdks
2.查看项目全部的targets,schemes和configurations
xcodebuild -list
3.清除编译过程生成文件
xcodebuildclean-workspaceXXX.xcworkspace-schemeXXX-configurationDebug-sdkiphoneos9.3
4.编译工程
xcodebuildbuild-workspaceXXX.xcworkspace-schemeXXX-configurationDebug-sdkiphoneos9.3
例:xcodebuildbuild-workspaceAFNetworking.xcworkspace-schemeAFNetworking\iOS-configurationDebug-sdkiphoneos11.2
( 其实作为一个开发者有一个学习的氛围跟一个交流圈子特别重要,这是我的一个iOS交流群687528266,不管是小白还是大牛都欢迎入驻,大家一起交流成长! )
网友评论