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

Posted

技术标签:

【中文标题】如何在 Fastlane 的命令行中指定用户名?【英文标题】:How to specify username in the command line for Fastlane? 【发布时间】:2016-07-06 01:02:16 【问题描述】:

我正在尝试将 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 以及我尝试过的其他所有东西也是如此。我做错了什么?

【问题讨论】:

【参考方案1】:

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

【讨论】:

我在 AppFile 中有 apple_id 值,但仍在询问:(【参考方案2】:

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

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

例如对于默认 cert 车道,这是可行的:

 fastlane cert --username 'me@myemailcom'

 fastlane cert -u 'me@myemailcom'

【讨论】:

不适用于自定义通道:invalid option: -u【参考方案3】:

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

【讨论】:

apple_id 找到工作了! ;)【参考方案4】:

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

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

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

然后像这样调用 fastlane:

fastlane beta username:email@example.com

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

【讨论】:

以上是关于如何在 Fastlane 的命令行中指定用户名?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过命令行在 MSBuild 中指定 CodeAnalysisRuleset

如何在 Xcode 4 中指定命令行参数?

使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?

Node.js 命令行工具的编写

如何让红移为复制命令中指定的字段添加当前时间

linux下如何提取日志中指定的一段内容?100分急求!!!