iOS 自动打包

1.安装fastlane工具

fastlaneGithub地址
安装fastlane就一句终端指令:

sudo gem install fastlane

但是,如果gem源有问题的话是安装不上的。在此处停留了N久

ERROR:While executing gem ... (OpenSSL::SSL::SSLError)hostname "upyun.gems.r

老是提示我没权限,所以我就去了ruby-china Github
把原本gem的ruby源更换成了这个
http://sh0.gems.ruby-china.org
更换gem源指令

gem sources -r 原本的源
gem sources -a http://sh0.gems.ruby-china.org
gem sources -l 查询源

然后在输入安装fastlane,才成功

2.自动化打包脚本

 #!/bin/bash

#设置超时
export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120

#计时
SECONDS=0

#假设脚本放置在与项目相同的路径下
project_path=$(pwd)
#取当前时间字符串添加到文件结尾
now=$(date +"%Y_%m_%d_%H_%M_%S")

#指定项目的scheme名称
scheme="Demo"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数
export_method='ad-hoc'

#指定项目地址
workspace_path="$project_path/Demo.xcworkspace"
#指定输出路径
output_path="$project_path/IPA"
#指定输出归档文件地址
archive_path="$output_path/Demo_${now}.xcarchive"
#指定输出ipa地址
ipa_path="$output_path/Demo_${now}.ipa"
#指定输出ipa名称
ipa_name="Demo_${now}.ipa"
#获取执行命令时的commit message
commit_msg="$1"

#输出设定的变量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="

#先清空前一次build
fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}

#上传到fir
fir publish ${ipa_path} -T "XXX_YOUR_API_TOKEN_XXX" -c "${commit_msg}"

#输出总用时
echo "===Finished. Total time: ${SECONDS}s==="

(1、使用该文件需要项目支持CocoaPods;2、本项目的项目名称是Demo,在实际使用时需要将Demo替换成自己的项目名称;3、需要将XXX_YOUR_API_TOKEN_XXX 换成自己的fir token fir.im登陆上之后在个人头像位置点击可以查看API Token,复制到这就可以了)

应该需要先登录fir.im的,终端登录指令
fir login XXX_YOUR_API_TOKEN_XXX

3.执行自动打包

将这个脚本复制到项目目录文件夹
输入指令

./AutoPack.sh

如果提示Permission denied
这个时候我们需要使用一个命令使AutoPack..sh成为一个可执行的文件:

chmod +x AutoPack..sh

再次输入./AutoPack.sh就可以打包了。一定要cd到项目文件夹

4.相关文档

fir-cli Github
gym Github

5.参考

1.使用fastlane gym/xctool编写ipa打包脚本
2.Fastlane自动化构建工具(完整解决测试和发布流程)
3.Fastlane + Bugly自动化部署测试包
4.iOS App 自动化上传 AppStore ,一键部署 App
5.iOS自动打包并发布到Fir.im

你可能感兴趣的:(iOS 自动打包)