iOS自动化打包xcodebuild

iOS自动打包脚本制作

在工程根目录下新建两个文件1
DevelopmentExportOptionsPlist.plist用来指定打包的类型,xcodebuild.sh是打包执行的shell脚本文件。
第一次可以通过手动打包获取,完整plist源码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>compileBitcode</key>
	<false/>
	<key>destination</key>
	<string>export</string>
	<key>method</key>
	<string>enterprise</string>
	<key>signingStyle</key>
	<string>automatic</string>
	<key>stripSwiftSymbols</key>
	<true/>
	<key>teamID</key>
	<string>KV6556Y343</string>
	<key>thinning</key>
	<string>&lt;none&gt;</string>
</dict>
</plist>

2

method的类型为String,用来指定打包ipa的类型,有以下可选项app-store、enterprise、ad-hoc、development,默认为development

xcodebuild.sh文件中包括一些需要配置的参数,工程名project_name、打包模式development_mode、scheme名scheme_name。

打包的工程文件分两种(是否包含cocoapods):project和workspace,如果需要打包的是project,则在archieve中将-workspace替换为-project,将.xcworkspace的路径替换为.xcodeproj的路径

#工程名(自定义)
project_name=eHRmobile

#打包模式 Debug/Release(自定义)
development_mode=Release

#scheme名(自定义,一般与工程名相同)
scheme_name=eHRmobile

#plist文件所在路径
exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist

#导出.ipa文件所在路径
exportFilePath=~/Desktop/$project_name-ipa

echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet  || exit 
echo '*** 清理完成 ***'


echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath build/${project_name}.xcarchive -quiet  || exit
echo '*** 编译完成 ***'


echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit

# 删除build包
if [[ -d build ]]; then
    rm -rf build -r
fi

if [ -e $exportFilePath/$scheme_name.ipa ]; then
    echo "*** .ipa文件已导出 ***"
    cd ${exportFilePath}
    echo "*** 开始上传.ipa文件 ***"
    #此处上传分发应用
    echo "*** .ipa文件上传成功 ***"
else
    echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'

自动打包(需在项目中配置好描述文件、开发者证书) 使用方式: 在终端中进入*.xcodeproj上级目录 输入./xcodebuild.sh即可自动打包、如无执行权限则先执行chmod +x xcodebuild.sh

最后会在桌面上生成打包完成的ipa文件夹。

注意:
1、如果报错如下,说明你的xcode安装目录有问题

xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist

将xcode拷贝至Applications后执行下面命令:

xcode-select -switch /Applications/Xcode.app/Contents/Developer

2、如果报错如下

 The project named "" does not contain a scheme named ""

解决方案:Choose Scheme > Manage Schemes (from the Product Menu).

3、如果报错如下

https://www.baidu.com/s?wd=xcode-select%3A+error%3A+tool+%27xcodebuild%27+requires+Xcode%2C+but+active+developer+directory+%27%2FLibrary%2FDeveloper%2FCommandLineTools%27+is+a+command+line+tools+instance&tn=84053098_3_dg&ie=utf-8

(1)找到xcode-select的当前路径终端命令行

xcode-select --print-path
/Library/Developer/CommandLineTools

(2)设置xcode-select到指定位置

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/ 

(3)验证是否设置成功

xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

参考文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值