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

Whi*_*ind 5 xcode continuous-integration ios swift 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"
Run Code Online (Sandbox Code Playgroud)

我有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
Run Code Online (Sandbox Code Playgroud)

发生的情况是,当我从控制台运行它时,fastlane 不会从应用程序文件中读取,并且它会询问我有关登录信息。另外,我的苹果 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:
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

Whi*_*ind 6

实际上有效的是:

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"
Run Code Online (Sandbox Code Playgroud)

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

我没有引用,就像:

 ENV["FASTLANE_ITC_TEAM_ID"] = 123456789
Run Code Online (Sandbox Code Playgroud)

显然文件没有被很好地解析,每次我都被要求提供我的苹果 ID 凭据 -_-


ume*_*oqi 6

我最近与 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
Run Code Online (Sandbox Code Playgroud)