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
我的 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