使用Fastlane打包ipa
最近公司要使用Fastlane+Jenkins去部署下自动化打包,每天打包一个最新的ipa,然后自动上传到公司的测试网站上,这样每天测试就可以拿到最新的安装包
第一步:安装xcode命令行工具
打开终端输入 xcode-select --install ,如果没有安装,会弹出对话框,点击安装。如果提示xcode-select: error: command line tools are already installed, use "Software Update" to install updates表示已经安装
第二步:安装Fastlane
sudo gem install fastlane -NV或是brew cask install fastlane我这里使用gem安装的
安装完了执行fastlane --version,确认下是否安装完成和当前使用的版本号。
第三步:初始化Fastlane
1.cd 到你的项目目录下
输入fastlane init
接下来输入4会 出现 bundle update
我这边会一直卡在这里 看了别的博客 是要修改ruby环境
然后打开你的项目目录里 会看到Gemfile 跟fastlane两个文件
如果你卡在了bundle update 这里
打开Gemfile文件编辑保存
source "https://rubygems.org"
gem "fastlane"
gem "cocoapods"
删掉fastlane 重新fastlane init
同样选择4
然后一直回车就行
2.接下来配置fastlane 文件夹里的Fastfile跟Appfile
Appfile
app_identifier("你的项目的bundle identifier")
apple_id("") # Your Apple email address
team_id("") # Developer Portal Team ID 使用证书的TeamID 如果不知道
#先使用Xocde打包一次 在plist文件里可以看到 也可以在钥匙串里的证书里找到
Fastfile
default_platform(:iOS)
platform :iOS do
workspace = "atSoul.xcworkspace"//如果没有使用cocoapods这行可以删掉
project = "项目名称.xcodeproj"
scheme = "项目根目录"
version = get_version_number(xcodeproj: project)
build = get_build_number(xcodeproj: project)
outputurlroot = "/Users/Desktop/jenkis/MyDemo/iOS/"//打包出来的ipa所在的位置
//如果不清楚位置 直接把文件夹拖到终端里 就看到了
desc "Build FitDisplay1.0 pro"
lane :方法名 do //方法名
outputurl = outputurlroot + "v" + version + "_" + build
sh("rm","-rf",outputurl)
sh("mkdir", outputurl)
build_app(
workspace: workspace,//如果没有使用cocoapods这行可以删掉
scheme: scheme,
silent: true,
clean: true,
configuration: "Release",
output_directory: outputurl,
output_name: "MyDemo.ipa",
export_method: "ad-hoc",//打包的类型
export_xcargs: "-allowProvisioningDeviceRegistration",
)
# build_app(
# workspace: workspace,
# scheme: scheme,
# silent: true,
# clean: true,
# configuration: "Release")
# upload_to_testflight
end
end
3.打包 终端输入 fastlane 方法名 然后就会自动去打包了