Fastlane - 覆盖输出名称
Posted
技术标签:
【中文标题】Fastlane - 覆盖输出名称【英文标题】:Fastlane - Override output name 【发布时间】:2017-08-10 01:25:52 【问题描述】:我使用fastlane ios lanename
构建,但是为了集成到 Jenkins 中,我想覆盖输出文件名。默认情况下,输出名称在 Fastfile 健身房选项中定义,但我想将版本和内部版本号添加到 Jenkins 中的文件名中。
但是这个命令并没有削减它:
fastlane ios build_dev_stg output_name:"App_Dev_Staging_2.5.1.3452"
尝试此操作后,输出文件名仍然与 Fastfile 中定义的相同。有没有其他方法可以覆盖它?
【问题讨论】:
【参考方案1】:你做的有点不对,但意图是对的。
您不必将参数传递给您的车道 (build_dev_stg)。
您需要在您的健身房上通过该选项,在您的车道内。
我的前任:
lane :buildDev do |options|
[.... Set nameSuffix, versionName and so on ...]
ipaName = "MyApp_#nameSuffix_#versionName_#buildNumber.ipa"
gym(
configuration: configuration,
scheme: scheme,
export_method: export_method,
output_name: ipaName
)
end
希望对你有帮助,有什么问题欢迎提问
【讨论】:
【参考方案2】:特此共享一个示例通道,该通道根据当前版本和内部版本号生成一个内部版本名称。在我的设置中使用了相同的设置。
# Can be called from other lanes as:
# Build Name
output_build_name = ""
generate_build_name
#Generate the build
build(build_name: output_build_name)
# Lane to create build name using the version
lane :generate_build_name do |options|
# https://github.com/beplus/fastlane-plugin-versioning_ios
# Get version and build number install above plugin
version = get_version_number(target: target)
build_number = get_build_number(xcodeproj: project)
puts "VERSION : #version"
current_date = Time.new.strftime('%Y.%m.%d')
build_name = "-Ver-"+ version + "-B-" + build_number + "-" +current_date
output_build_name = app_name + "-" + build_name
# Build name
puts "#app_name BUILD NAME : #output_build_name"
// BUILD NAME : AppName-Ver-1.0-B-31-2019.09.16
end
lane :build do |options|
build_app(
workspace: "MyApp.xcworkspace",
configuration: "Debug",
scheme: "MyApp",
silent: true,
clean: true,
output_name: options[:build_name] + ".ipa"
)
【讨论】:
以上是关于Fastlane - 覆盖输出名称的主要内容,如果未能解决你的问题,请参考以下文章