iOS问题记录 - 503 Service Temporarily Unavailable

文章目录

  • 前言
  • 开发环境
  • 问题描述
  • 问题分析
  • 解决方案
  • 最后


前言

最近有个项目经历了大改动,本地测试没什么问题,于是准备通过打包机打包用于内部测试的包,然后问题就来了。

开发环境

  • Xcode: 16.1
  • Fastlane: 2.219.0

问题描述

问题出在登录苹果开发者账号的时候,错误日志如下:

[20:12:36]: Starting login with user 'xxx@xxx.xxx'
Available session is not valid anymore. Continuing with normal login.
[20:12:40]: <html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>Apple</center>
</body>
</html>

问题分析

首先检查苹果开发者账号是否正常可用,如果会员资格过期了那登录失败是正常的,可是我可以确定离过期还远着。

还有一个很常见的原因,苹果更新了开发者协议,要求开发者在继续使用其服务之前需要先同意最新条款,如果没同意也可能会出现登录失败的情况。

登录Apple Developer,果然协议有新的更新需要同意:

screenshot1

如果你在Xcode的证书管理中看到这样的提示:

screenshot2

说明也需要去Apple Developer同意更新后的开发者协议。如果不先同意,创建证书等操作会失败,提示:

Unable to process request - PLA Update available

PLAProgram License Agreement(开发者计划许可协议)的简写。

通过帐户持有人账号同意协议,再次给打包机下发打包任务。结果还是一样的报错,这是为什么?

再仔细看看输出日志,想找找还有没有什么其他可用信息,本来也没报什么希望,结果让我看到这个:

2.225.0 Improvements
This version has a required fix for authenticating with Apple via Apple ID. Apple started using their own variant of SRP (Secure Remote Password) using SHA-256 and 2048 bit hashing in the sign in flow. Any previous _fastlane_ versions will likely response a "503 Service Temporarily Unavailable" when authenicating with an Apple ID.

* [spaceship] New AppleID Auth with SRP (#26415) via Josh Holtz (@snatchev and @joshdholtz)

Fastlane每次打包都会输出当前版本之后的新版本更新日志,看样子当前最新版本2.225.0已经修复了该问题。那还能说啥呢?先升级到最新版本看看问题解决没:

gem install fastlane

升级完成再次打包,一切正常!

接下来看看是什么原因导致了该问题,根据Fastlane给出的更新日志,大致原因如下:

苹果更改了他们的登录流程,开始使用SRP(Secure Remote Password)协议。SRP协议是一种公开的安全协议,该协议不会在网络中传输密码(无论是否加密),而是通过密码的哈希值和一些随机数进行身份验证。这个有很多开源实现,苹果应该是根据自己的需要定制实现了SRP协议(their own variant of SRP)。

更多详情可以参考:

  • Apple ID auth not working - 503 Service Temporarily Unavailable on various fastlane modules
  • [spaceship] New AppleID Auth with SRP

最后补充一点,Fastlane现在已经不建议通过苹果开发者账号和密码实现身份验证

原因很简单,账号密码登录是通过对苹果Web端网页抓包分析然后模拟登录,苹果只要对登录进行改动,Fastlane如果不适配就可能登录失败,当前问题就是这样导致的。同时,模拟登录有效期只有一个月左右,每次登录双重认证也麻烦。

建议通过 App Store Connect API 完成身份验证。

当然,不改继续用也问题不大,像我遇到问题的项目就是不改,老项目还能用就行,为什么要改?

解决方案

按以下步骤操作:

  1. 检查是否需要同意更新后的开发者协议

使用账户持有人账号登录Apple Developer,如果协议有更新请同意。

  1. 检查Fastlane版本是否低于2.225.0
fastlane -v

如果低于该版本,请执行命令升级到最新版本:

gem install fastlane

最后

如果这篇文章对你有所帮助,点赞👍收藏🌟支持一下吧,谢谢~


本篇文章由@crasowas发布于CSDN。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据网格能替代数据仓库吗?

一、数据网格是什么&#xff1f; 数据网格&#xff1a;是一种新兴的数据管理架构和理念&#xff0c;主要用于解决大规模、复杂数据环境下的数据管理和利用问题。 核心概念&#xff1a; 1、数据即产品&#xff1a;将数据看作一种产品&#xff0c;每个数据域都要对其生产的数据负…

Dolphinscheduler配置dataX离线采集任务写入hive实践(二)

这里写目录标题 一、 写入hive 配置1.1 权限报错信息 &#xff1a;1.2 hive 中文件格式1.3 注意区别以下建表语句A、构建ORC 格式分区表B. 构建默认文件格式分区表C.构建非分区表 二、dataX 配置hive 分区表导入 配置2.1 检查hive 表分区是否存在 一、 写入hive 配置 dataX 写…

机器学习——损失函数、代价函数、KL散度

&#x1f33a;历史文章列表&#x1f33a; 机器学习——损失函数、代价函数、KL散度机器学习——特征工程、正则化、强化学习机器学习——常见算法汇总机器学习——感知机、MLP、SVM机器学习——KNN机器学习——贝叶斯机器学习——决策树机器学习——随机森林、Bagging、Boostin…

Word大珩助手:超大数字怎么读?35位数字?69位数字?

俄罗斯日前对谷歌开出了20000000000000000000000000000000000&#xff08;35位数字&#xff09;美元的罚款 这一数字远超全球GDP总和&#xff0c;消息一出很快就登上热搜。 面对这样一个庞大的数字&#xff0c;人们不禁好奇&#xff0c;这样的数字该如何读出来&#xff1f; …

ODOO学习笔记(2):核心功能是哪些?

Odoo的核心功能主要包括以下几个方面&#xff1a; 客户关系管理&#xff08;CRM&#xff09;&#xff1a;Odoo的CRM工具管理公司与客户和潜在客户的所有关系和互动&#xff0c;提供一个集中式系统来管理销售活动&#xff0c;从潜在客户培育到达成交易。CRM模块包括报告和分析功…

JUC学习

JUC 1、什么是JUC&#xff1f; ​ JUC是java.util.concurrent包的简称&#xff0c;在Java5.0添加&#xff0c;目的就是为了更好的支持高并发任务。在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义…

Kafka面试题解答(二)

1.怎么尽可能保证 Kafka 的可靠性 kafka是可能会出现数据丢失问题的&#xff0c;Leader维护了一个动态的in-sync replica set&#xff08;ISR&#xff09;&#xff0c;意为和 Leader保持同步的FollowerLeader集合(leader&#xff1a;0&#xff0c;isr:0,1,2)。如果Follower长时…

如何在算家云搭建Aatrox-Bert-VITS2(音频生成)

一、模型介绍 ‌ Aatrox - Bert -VITS2 模型是一种基于深度学习的语音合成系统&#xff0c;结合了 BERT 的预训练能力和 VITS2 的微调技术&#xff0c;旨在实现高质量的个性化语音合成。 二、模型搭建流程 1. 创建容器实例 进入算家云的“应用社区”&#xff0c;点击搜索找到…

PDF编辑工具Adobe Acrobat DC 2023安装教程(附安装包)

Adobe Acrobat DC 2023 是 Adobe 公司推出的一款功能强大的 PDF 文档处理软件。它不仅支持创建、编辑和签署 PDF 文件&#xff0c;还提供了丰富的工具来管理和优化这些文件。以下是 Acrobat DC 2023 的一些主要特点&#xff1a; 1.PDF 创建与编辑&#xff1a;用户可以直接从多…

【李白打酒加强版——DP】

题目 思路 三个注意点&#xff1a;k是偶数的状态才能是遇到店之后的状态、f[n-1][m][k]状态非法、不要越界 代码 #include <bits/stdc.h> using namespace std; const int N 110, mod 1e97; int f[N][N][N]; int main() {int n, m;cin >> n >> m;f[0][0]…

HarmonyOS ArkTS 下拉列表组件

Entry Component struct Index {defaultValue: string 下拉列表;// 定义选项数组&#xff0c;包含 value 和可选的 labeloptions: Array<SelectOption> [{ value: aaa },{ value: bbb },{ value: ccc },{ value: ddd },{ value: eee },{ value: fff },{ value: ggg },{…

云上盛宴-腾讯云双11活动玩法攻略

大家好呀&#xff01;我是reload。今天来给大家分享一下腾讯云双十一活动玩法攻略。一年一度的双十一购物盛宴又要来了&#xff0c;为了应对各种秒杀抢购而导致的用户访问量激增&#xff0c;平台可以通过云计算技术的弹性伸缩能力&#xff0c;迅速增加服务器资源&#xff0c;确…

【ubuntu18.04】使用U盘制作ubuntu18.04启动盘操作说明

打开show application 打开Startup Disk 选择镜像 双击选择ubuntu的iso镜像 镜像下载地址 Ubuntu 18.04.6 LTS (Bionic Beaver) 制作镜像 注意&#xff1a; 制作镜像会格式化U盘&#xff0c;记得备份资料 点击Make Startup Disk,弹出如下对话框 点击Yes 输入管理员密码&a…

html+js+css实现拖拽式便签留言

前些日子在网上冲浪时&#xff0c;看到一个便签式留言墙&#xff0c;让人耳目一新。心想这个看着不错&#xff0c;额想要。于是便开始搜寻是否有相应开源插件&#xff0c;想将其引入自己的博客中。但是搜寻了一圈&#xff0c;都没有符合预期的,要么功能不符合。有的功能符合&am…

前端 call、bind、apply的实际使用

目录 一、call 1、继承的子类可以使用父类的方法 2、可以接收任意参数 二、call、apply、bind比较 1、案例一 2、案例二 三、总结 这个三个方法都是改变函数的this指向的方法。 一、call 1、继承的子类可以使用父类的方法 function Animal(){//this 指向小catthis.eat…

【C++笔记】C++三大特性之继承

【C笔记】C三大特性之继承 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】C三大特性之继承前言一.继承的概念及定义1.1 继承的概念1.2继承的定义1.3继承基类成员访问方式的变化1.4继承类模板 二.基类和派生类间的转…

点击文本将内容填入tinymce-vue 富文本编辑器的光标处

富文本编辑器组件 <template><div ref"tinymceBox" class"tinymce-box"><Editor id"myEditor" v-model"contentValue" :init"init" :disabled"disabled" blur"inputBlur" click"o…

智能家居的未来:AI让生活更智能还是更复杂?

内容概要 智能家居的概念源于将各种家居设备连接到互联网&#xff0c;并通过智能技术进行控制和管理。随着人工智能的迅速发展&#xff0c;这一领域也迎来了前所未有的机遇。从早期简单的遥控器到如今可以通过手机应用、语音助手甚至是环境感应进行操作的设备&#xff0c;智能…

Meta AI 新技术,赋予机器人 “触觉” 的革命

Meta AI 新技术&#xff0c;赋予机器人 “触觉” 的革命 简介 传统机器人的局限 Meta AI 的新技术突破 技术应用前景 未来展望 简介 在科技飞速发展的今天&#xff0c;人工智能领域不断取得令人惊叹的突破。11月4日&#xff0c;Meta公司宣布其基础人工智能研究团队(FAIR)在…

微信小程序配置

1.进入微信小程序公众平台&#xff0c;进入后注册域名 2.项目接口代理 UniApp H5 跨域代理配置并使用&#xff08;配置manifest.json、vue.config.js&#xff09;_uniapp 代理-CSDN博客 我用了方法一 3.测试接口