如何在Fastlane的命令行中指定用户名?

时间:2016-07-06 01:02:16

标签: ios fastlane

我尝试将Apple ID作为命令行选项传递给Fastlane,因此所有用户和我们的构建服务器都可以使用相同的脚本。

MacBook-Pro-6:whisper-ios Nick$ fastlane hockeyglobal username:nlocking@whisper.sh
[18:00:44]: -------------------------------------------------
[18:00:44]: --- Step: Verifying required fastlane version ---
[18:00:44]: -------------------------------------------------
[18:00:44]: fastlane version valid
[18:00:44]: ------------------------------
[18:00:44]: --- Step: default_platform ---
[18:00:44]: ------------------------------
[18:00:44]: Driving the lane 'hockeyglobal' 
[18:00:44]: ------------------
[18:00:44]: --- Step: sigh ---
[18:00:44]: ------------------

+-------------------------------------+-----------------------+
|                   Summary for sigh 1.8.0                    |
+-------------------------------------+-----------------------+
| adhoc                               | true                  |
| skip_install                        | false                 |
| development                         | false                 |
| force                               | false                 |
| app_identifier                      | sh.whisper.whisperapp |
| team_id                             | B3NYR7PARX            |
| ignore_profiles_with_different_name | false                 |
| skip_fetch_profiles                 | false                 |
| skip_certificate_verification       | false                 |
+-------------------------------------+-----------------------+

[18:00:45]: To not be asked about this value, you can specify it using 'username'
Your Apple ID Username: 

疯狂地,username:nlocking@whisper.sh似乎完全没有被Fastlane注意到,apple_id:nlocking@whisper.sh-u nlocking@whisper.sh以及我尝试过的所有其他内容也是如此。我做错了什么?

4 个答案:

答案 0 :(得分:1)

尝试删除用户名,仅在Appfile中添加app_identifierapple_id(电子邮件)和team_id

答案 1 :(得分:1)

它将使用apple_idfastlane/Appfile的值。确保您从fastlane/所在的文件夹中运行命令。

答案 2 :(得分:0)

不确定hockeyglobal通道,但通常传递username参数的正确语法如下:

fastlane hockeyglobal --username 'nlocking@whisper.sh'

E.g。对于默认cert通道,这有效:

 fastlane cert --username 'me@myemailcom'

 fastlane cert -u 'me@myemailcom'

答案 3 :(得分:0)

我通过使用fastlane参数实现了这一目标。在您的Fastfile中执行以下操作:

lane :beta do |options|
  cert(username: options[:username])
  ...
end

(请注意上面的|options|参数)

然后像这样调用fastlane:

fastlane beta username:email@example.com

其中email@example.com是您的用户名。