CircleCI 的 Fastlane 测试飞行

Posted

技术标签:

【中文标题】CircleCI 的 Fastlane 测试飞行【英文标题】:Fastlane Testflight from CircleCI 【发布时间】:2020-03-23 20:38:52 【问题描述】:

每当使用 Fastlane 和 CircleCI 在我的开发分支上通过测试时,我都会尝试上传 Testflight 构建。

一切顺利,直到它到达这里:

Login to App Store Connect (*******************)
The login credentials for '*******************' seem to be wrong
The password was taken from the environment variable
Please make sure it is correct

我认为密码来自我在 Circle 的项目设置中输入的 FASTLANE_PASSWORD 环境变量,密码是我为此目的创建的应用程序特定密码。

使用存储在 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 中的应用程序特定密码在本地运行它就可以了。将其设置为 Circle 上的 env var 无效,似乎只使用了 FASTLANE_PASSWORD。

我尝试设置upload_to_testflight(skip_waiting_for_build_processing: true),但没有改变。尝试设置apple_id 也会导致错误(此处不应定义apple id)。

它在尝试登录之前报告它成功构建并签署了 IPA 文件。这是 Fastfile 通道:

desc "Push a new beta build to TestFlight"
lane :beta do
  increment_build_number(xcodeproj: "[project].xcodeproj")
  match(type: "appstore")
  build_app(workspace: "[project].xcworkspace", scheme: "[scheme]")
  upload_to_testflight(skip_waiting_for_build_processing: true)
end

有没有我遗漏的步骤?关于这个的所有其他问题似乎都已经过时了。

【问题讨论】:

我没有使用circle ci,所以我可能没有任何帮助,但我使用应用程序专用密码上传到testflight也是如此。您需要包含在 upload_to_testflight 命令中的 apple_id 才能使用应用程序特定的密码,尽管如此处所述:docs.fastlane.tools/actions/upload_to_testflight/… - 所以也许重新访问该选项并显示错误? 另外,我在 fastfile 本身中设置了 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD。 【参考方案1】:

看起来答案是我还需要提供 FASTLANE_SESSION,而我最初并没有这样做。由于 Apple 的一些小问题,它现在运行良好。

【讨论】:

【参考方案2】:

请确保您的 .env 文件密码不在引号中。

确保它是这样的:

apple_id_password=pa!@ssword

不是这样的:

apple_id_password="pa!@ssword"

【讨论】:

以上是关于CircleCI 的 Fastlane 测试飞行的主要内容,如果未能解决你的问题,请参考以下文章

xcodebuild 归档失败,CircleCI 上的退出状态为 65

在当前目录中找不到 fastlane

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

Xcode UI 测试、开发语言、回退翻译和 CI 服务器

CircleCI:为啥有两个工作:构建和测试不是 DRY?

测试在 Xcode 中通过,但在 Circleci 上失败