• OS X 10.9 (Mavericks) 以上
• Ruby 2.0 以上
• Xcode
• 拥有一个付费的苹果开发者账号
• 自动打包前请保证工程的正确性,确认手动打包可以成功
• 下面的流程不包括创建屏幕截图
ruby –v //确认ruby版本
xcode-select –install //检查 Xcode 命令行工具(CLT)是否安装
sudo gem install fastlane –verbose //安装fastlane
如果报错You don't have write permissions for the /usr/bin directory.
把命令换为 sudo gem install -n /usr/local/bin fastlane –verbose
安装完成后,为项目配置fastlane
cd 项目路径
fastlane init
期间会让你输入AppleID的账号密码(后续只需要输入账号,不需要再次输入密码)
登录成功后会让你确认信息,确认输入y
会检测当前APPID是否在ADC中,当前APP是否在ITC中(应该先在ITC中创建APP)
成功之后会在项目中生成如下目录文件
APPfile:用于存储应用程序标识符和AppleID等信息
Fastlane:配置管理lane
Deliverfile:配置应用在ITC中的各种信息
metadata:包含应用在ITC中的各种信息
screenshots:包含截图数据
需要注意的是,metadata和Deliverfile,都可以配置ITC的数据,但后者的优先级比前者的高,所以一般在Deliverfile里面配置就OK了
首先配置Fastlane
打开fastlane文件,添加如下代码
# 创建IPA
desc "Create ipa"
lane :build do
increment_build_number
gym
end
# 上传IPA文件到ITC
desc "Upload to App Store"
lane :upload do
deliver
end
# 一键命令
desc "build and upload to App Store"
lane :do_everything do
build
upload
end
之后配置Deliverfile文件
其实上传ITC最主要的文件是Deliverfile
# 1 app_identifier
app_identifier "com.xxx.xxx.fastlaneDemo"
# 2 用户名,Apple ID电子邮件地址
username "develop@xxx.com"
# 3 支持语言
supportedLanguages = {
"cmn-Hans" => "zh-Hans"
}
# 4 app 名称
name({
'zh-Hans' => "fastlanee"
})
# 5 描述
description({
'zh-Hans' => "这里是APP的文案,例如新增了什么功能,优化了什么地方,适配了iPhone X"
})
# 6 提交审核信息
submission_information({
export_compliance_encryption_updated: false,
export_compliance_uses_encryption: false,
content_rights_contains_third_party_content: false,
add_id_info_uses_idfa: false
})
# 7 应用审核小组的联系信息 app 审核信息
app_review_information(
first_name: "wang",
last_name: "xxx",
phone_number: "+86156xxxxxxx",
email_address: "123@qq.com",
demo_user: "xxx",
demo_password: "123456",
notes: "noting"
)
# 8 copyright
copyright "#{Time.now.year} 3code"
#
配置好Deliverfile后,可以删除metadata文件夹里面的内容,然后拖一张1024*1024.png的APP图标进去
执行一键命令
fastlane do_everything
如果出现报错There does not seem to be a CURRENT_PROJECT_VERSION key set for this project…
需求手动修改自动增加构建版本号的设置
如果一切顺利,期间会创建一个html形式的预览文件,确认没问题输入y
然后耐心等待就行了
上传成功