Fastlane 根据试飞中先前的内部版本号增加内部版本号

Posted

技术标签:

【中文标题】Fastlane 根据试飞中先前的内部版本号增加内部版本号【英文标题】:Fastlane Increment build number based on previous build number in test flight 【发布时间】:2018-07-11 10:55:32 【问题描述】:

我已经设置了快速通道,一切正常,应用程序使用以下快速文件上传到测试飞行。我想根据 TestFlight 中以前的内部版本号自动增加内部版本号,并使用该递增的内部版本号上传新版本。请建议如何做到这一点

class Fastfile: LaneFile 

func customLane() 

    let buildNumber = latestTestflightBuildNumber(appIdentifier: "com.softence.DemoApp", username: "iosapp@dreamapps.com")
    incrementBuildNumber(buildNumber: String(describing: buildNumber + 1))

    buildIosApp(scheme: "DemoApp")
    uploadToTestflight(username: "iosapp@dreamapps.com", teamId: "39941891")
   

执行后,它再次要求从团队列表中选择团队。我想增加内部版本号并直接将内部版本上传到试飞

【问题讨论】:

使用incrementBuildNumber? @Tj3n 我已经更新了我的问题,请检查一下 【参考方案1】:

我试图做同样的事情,但找不到任何关于如何在 Swift Fastfile 中实现递增构建号的信息。不过,我找到了解决办法。

? 注意:我只想增加内部版本号,然后推送到 TestFlight。

解决方法:

    设置 Fastlane Swift(我选择推送到 Beta 设置)。文档here。 在终端中,运行 fastlane run increment_build_number 以首先获取内部版本号。 完成后,运行fastlane beta。仅当您在 Fastfile 中的通道/功能称为 betaLane() 时,请相应地更改它。如果它被称为helloLane(),则使用fastlane hello

你就完成了! ?

不过,这是两个命令,让我们把它合二为一吧(可选,但很好):

    要将其封装到一个命令中,请创建一个 shell 脚本。首先,进入终端vim name_of_script.sh。 将这两个命令放入您的脚本中:fastlane run increment_build_number; fastlane beta; 保存并运行您的脚本!

? 如果您收到此错误:Apple Generic Versioning is not enabled in this project,然后按照指示 here 启用它。真的很简单,读一读。

在这一切之后,您应该能够只用一个命令就可以使用递增的内部版本号推送到 TestFlight! ?

【讨论】:

以上是关于Fastlane 根据试飞中先前的内部版本号增加内部版本号的主要内容,如果未能解决你的问题,请参考以下文章

Fastlane增加内部版本号会抛出格式错误的64位a.b.c.d.e版本号

内部版本号不是由 fastlane 设置的,而是由 Xcode 设置的

更改特定目标 Fastlane 的版本和内部版本号

将内部版本号传递给 Fastlane/Gym 中的 xcargs

Fastlane - 覆盖输出名称

使用 Fastlane 获取 Android 的版本号