首页 > 解决方案 > Fastlane 中 Appfile 中存储环境变量的语法

问题描述

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 不会从应用程序文件中读取,它会询问我有关登录信息的信息。此外,我的苹果 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:

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

编辑:

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

标签: iosswiftxcodecontinuous-integrationfastlane

解决方案


我最近与 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

推荐阅读