bash - 通过 Fastlane 分发 Firebase 应用程序“服务器以状态 403 响应”
问题描述
我在 Fastlane Fastfile 中设置了 Firebase 应用分发功能来分发我的 iOS 应用的 beta 版本。它工作正常,但突然开始显示错误。
这就是我的车道的样子。
lane :distribute_beta do |options|
sync_code_signing_adhoc()
update_build_number_of_all_frameworks()
build_ios_app_adhoc()
firebase_app_distribution(
app: "<app ID here>",
testers: "<tester emials here>",
release_notes: options[:release_note],
firebase_cli_path: "/usr/local/bin/firebase"
)
end
当我运行这条车道时,它显示错误
the server responded with status 403
在步骤:firebase_app_distribution
日志还说对谷歌的身份验证成功。
Authenticating with GOOGLE_APPLICATION_CREDENTIALS environment variable: /<path to cred>/<cred_file_name>.json
Authenticated successfully.
以下是围绕“步骤:firebase_app_distribution”的完整错误
[17:11:04]: ---------------------------------------
[17:11:04]: --- Step: firebase_app_distribution ---
[17:11:04]: ---------------------------------------
[17:11:04]: Authenticating with GOOGLE_APPLICATION_CREDENTIALS environment variable: /<path to cred>/<cred_file_name>.json
[17:11:04]: Authenticated successfully.
+------------------------------------+---------------------------------------------+
| Lane Context |
+------------------------------------+---------------------------------------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios distribute_beta |
| SIGH_PROFILE_TYPE | ad-hoc |
| MATCH_PROVISIONING_PROFILE_MAPPING | {"<my bndle ID>"=>"match AdHoc |
| | <my bundle ID>"} |
| BUILD_NUMBER | 107 |
| IPA_OUTPUT_PATH | /Users/my_user_name/Repository/App/App|
| | y/App.ipa |
| XCODEBUILD_ARCHIVE | /Users/my_user_name/Library/Developer/Xcode/A|
| | rchives/2021-01-08/App 2021-01-08 |
| | 17.09.08.xcarchive |
| DSYM_OUTPUT_PATH | /Users/my_user_name/Repository/App/App |
| | y/App.app.dSYM.zip |
+------------------------------------+---------------------------------------------+
[17:11:06]: the server responded with status 403
+------+-----------------------------+-------------+
| fastlane summary |
+------+-----------------------------+-------------+
| Step | Action | Time (in s) |
+------+-----------------------------+-------------+
| 1 | default_platform | 0 |
| 2 | Switch to ios | 0 |
| | sync_code_signing_adhoc | |
| | lane | |
| 3 | sync_code_signing | 18 |
| 4 | Switch to ios | 0 |
| | update_build_number_of_all | |
| | _frameworks lane | |
| 5 | increment_build_number | 1 |
| 6 | commit_version_bump | 0 |
| 7 | Switch to ios | 0 |
| | build_ios_app_adhoc lane | |
| 8 | build_ios_app | 126 |
| | firebase_app_distribution | 1 |
+------+-----------------------------+-------------+
[17:11:06]: fastlane finished with errors
我怎样才能解决这个问题?
解决方案
通常,当您收到该特定消息时,这意味着 Firebase 刷新令牌不再有效。
因此,当您提交应用程序时,有时您必须指定 Firebase 刷新令牌:
...
firebase_app_distrubution(
...
firebase_cli_token: "<YourFirebaseRefreshToken>"
)
...
您可以从此处获取此令牌。如果您的脚本突然开始失败,这可能意味着生成此(或任何其他身份验证令牌)的人已从 Firebase 项目中删除。
如果您得到一个403
肯定意味着有人从您的 Firebase 项目中删除,或者有人在 Firebase 控制台上删除/重新生成了一个令牌。
推荐阅读
- c++ - 加号和减号的运算符怪异
- google-places-api - 给定检索到的邮政编码/纬度和经度,如何使用 Google 地点 API 建议会面地点?(安卓)
- mpdf - 使用 CSS 修复 mpdf 中 sup 标签上方的额外间距
- r - 如何将平均值放入特定日期?
- android - MaterialDatePicker 选择后返回不正确的日期
- reactjs - npm WARN deprecated tar@2.2.2: 此版本的 tar 不再受支持,并且不会收到安全更新
- angular - Angular RxJS 如何使时间延迟来自先前的管道
- javascript - $.each() 中带有 CSS 变量的样式
- sql - SQL,如何获取数据以显示前 30 天
- react-hooks - 在 typescript 中检查 URL 的有效性后如何更新图标的颜色与 useState 反应?