Fastlane 中 Appfile 中存储环境变量的语法

Syntax for storing environment variables in Appfile in Fastlane

我的 Appfile 目前看起来像这样:

apple_id "myappid@domain.com"
app_identifier "com.xxx.xxx"
ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "xxxx-xxxx-xxxx-xxxx"
ENV["FASTLANE_PASSWORD"] = "myAppIdPassword"
ENV["DELIVER_USER"] = "myappid@domain.com"
ENV["FASTLANE_USER"] = "myappid@domain.com"
ENV["FASTLANE_TEAM_ID"] = "myTeamId"

我有 Fastfile 这样的:

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :qa do
    increment_build_number
    build_app(
        clean: true
    )
    verify_build(
       bundle_identifier: "com.xxx.xxx.project-name"
   )
   upload_to_testflight(skip_submission: true)
  end
end

发生的事情是,当我从控制台 运行 执行此操作时,fastlane 不会从应用程序文件中读取,它会询问我有关登录信息的信息。此外,我的 apple id 启用了双重身份验证,并且我已经创建了应用程序专用密码,从 Appfile 中可以看出,但它仍然不起作用。看起来 Appfile 没有被解析,或者我使用了错误的语法?我得到这样的消息:

[15:22:51]: ----------------------------------
[15:22:51]: --- Step: upload_to_testflight ---
[15:22:51]: ----------------------------------
[15:22:51]: To not be asked about this value, you can specify it using 'username'
/Users/admin/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/highline-1.7.10/lib/highline.rb:624: warning: Using the last argument as keyword parameters is deprecated
[15:22:51]: Your Apple ID Username:

我不必在终端提示中手动输入任何内容的方法是什么?

编辑:

也许这很重要...我的 apple id 启用了双因素身份验证。但我认为它足以使用:FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD

实际起作用的是:

ENV["FASTLANE_USER"] = "myappleid@domain.com"
ENV["FASTLANE_PASSWORD"] = "xxxxxx"
ENV["FASTLANE_ITC_TEAM_ID"] = "123456789"
ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "xxx-xxx-xxx-xxxx"

问题出在 ENV["FASTLANE_ITC_TEAM_ID"] = "123456789" 行

我没有引用,就像:

 ENV["FASTLANE_ITC_TEAM_ID"] = 123456789

显然文件没有被正确解析,每次我都被要求提供我的 apple id 凭据 -_-

我最近使用 fastlane ,这是我使用的

app_identifier("com.xxx.xxx") # The bundle identifier of your app
apple_id("myappid@domain.com") # Your Apple email address

itc_team_id(“123456”) # App Store Connect Team ID
team_id(“1a2”d3f5g6g) # Developer Portal Team ID