Синтаксис для хранения переменных среды в Appfile в Fastlane - PullRequest
4 голосов
/ 07 февраля 2020

Мой 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 включена двухфакторная аутентификация, и я создал пароль приложения c, как видно из файла приложения, но он все еще не работает. Похоже, 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

Ответы [ 2 ]

4 голосов
/ 10 февраля 2020

Я недавно работал с 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
1 голос
/ 10 февраля 2020

На самом деле сработало:

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 -_-

...