iOS 持续集成 - fastlane 问题集锦
问题
1. Apple Generic Versioning is not enabled in this project
使用 increment_build_number
时,会出现的问题
解决办法
在 target
-> building setting
中, 搜索 current project version
, 出现 versioning system
选择 Apple Generic
2. Cannot set build number with plist path containing $(SRCROOT)
fastlane 无法识别出 $(SRCROOT)
的路径
--解决方法; 网上查找的都是 找到项目的 info.plist 配置, 移除 $(SRCROOT)
即可. 但是平时使用时 项目的 plist 却定位不了.--
fastlane 的 传参问题
格式 fastlane lane-name key1:value1 key2:value2 key3:value3
自定义 lane 的解析:
desc "Push a new beta build to TestFlight"
lane :beta do |options|
increment_build_number
scheme = options[:scheme]
export_method = options[:export_method]
export_time = options[:export_time]
build_app(workspace: "AppNameTest.xcworkspace",
scheme: scheme,
clean:true,
include_bitcode: false,
silent: true,
export_method: export_method,
include_symbols: true,
output_directory: "~/iOS/AppNameTest/build",
output_name: "AppNameTest${export_time}.ipa",
export_xcargs: "-allowProvisioningUpdates")
changelog_from_git_commits
upload_to_testflight
end
环境变量 来源 说明 备注
FASTLANE_USER credentials_manager Apple 开发者账户名 验证通过后会保存 Keychain
FASTLANE_PASSWORD credentials_manager Apple 开发者账户密码 验证通过后会保存 Keychain
FASTLANE_TEAM_ID
CERT_TEAM_ID produce
sigh Apple 团队 ID
DELIVER_USER
PRODUCE_USERNAME deliver
produce iTunesConnect 账户名
DELIVER_PASSWORD deliver iTunesConnect 账户密码
MATCH_PASSWORD match 证书加/解密密码
FASTLANE_XCODE_LIST_TIMEOUT