之前脑残让公司购买了一台iMac,这是我用过最卡的电脑,用来开发简直要命,Xcode打包更是要命,每次都要十几分钟,不得不得用自带的Air,为了应付领导动不动就要打包,随时要打包的准备,找了一下自动打包神器,fastlane。
fastlane 自动打包发布
fastlane 需要在ruby环境下 才能安装
在mac 环境下,一般都自带了ruby环境,不过一般要切换镜像源,有些开发者已经把镜像源切到淘宝的镜像,但是尝试了一下,在淘宝镜像源下无法安装fastlane
根据提示错误,只能把镜像源切换到https://rubygems.org/(https://gems.ruby-china.org这个环境也不行)
gem sources --add https://rubygems.org/ --remove https://rubygems.org/
1.可以根据命令gem sources -l 查看用户当前镜像源
切换好镜像源后,可以执行命令
sudo gem install fastlane
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/commander
如果提示没有权限
sudo gem install -n /usr/local/bin fastlane
执行这个安装需要等待10分钟左右,需要的安装包确实有点多
检测更新xcode-select版本
xcode-select --install
需要安装这个是因为,fastlane最终的命令都是执行xcode-select命令,其实我们可以通过xcode的命令行来编译,fastlane帮我们执行了,并且自动上传到第三方发布平台
安装蒲公英插件,蒲公英当成fastlane的一个插件,蒲公英有相关文档,(https://www.pgyer.com/doc/view/fastlane)
fastlane add_plugin pgyer
等待安装完以后就可以真正执行打包操作了
1. 进入项目文件,
fastlane init
执行完,项目文件会多一个fastlane文件,在文件中Fastfile中修改相关的编译配置,这里一般在测试发布蒲公英的情况下,选择如下配置
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
desc "打包到pgy"
lane :beta do
#导出方式app-store、ad-hoc、development、enterprise
build_app(
export_method: "development",
configuration: "Debug",
output_directory:"./app",#ipa的存放目录
)
#gym(
#clean:true, #打包前clean项目
#3export_method: "development",
#scheme:"YinFunMall", #scheme
#configuration: "Debug",#环境
#output_directory:"./app",#ipa的存放目录
#output_name:get_build_number()#输出ipa的文件名为当前的build号
#)
#蒲公英的配置 替换为自己的api_key和user_key
pgyer(api_key: "6be4", user_key: "c1434da914d", update_description: "update by fastlane")
end
end
2.配置好相关环境后,保存文件,
fastlane beta
等待编译完后,就可以等待发布完成了,就可以在蒲公英后台查看结果二维码了
为了不让打包影响开发,打包的同时可以不干扰打包,建议check out两份代码,一份打包专用,一份开发专用,打包之前只需要同步代码即可
,大家可以研究,一起学习。