[审核]因为审核人员不了解苹果登录被拒

news2025/1/15 16:44:30

1.审核被拒信息

Guideline 2.1 - Information Needed

We’re looking forward to completing the review of your app, but we need more information to continue.


Next Steps


Please provide detailed answers to the following questions in your reply to this message in App Store Connect:


The Sign in with Apple login option in your app, does not give the options to users to Share or to Hide their information.  Is this intentional?

附图

 2.App中苹果登录部分代码

import UIKit
import AuthenticationServices


class PALoginVC: BaseViewController {
    
    @IBOutlet weak var appleBut: UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    /// 接口Apple登录
    private func loginApple(user: String, token: String) {
        
    }
    
}

extension PALoginVC : ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding {
    
    private func openApple() {
        if #available(iOS 13.0, *) {
            let appleIDProvider = ASAuthorizationAppleIDProvider()
            let appleIDRequest = appleIDProvider.createRequest()
            appleIDRequest.requestedScopes = [ASAuthorization.Scope.fullName]
            let authVC = ASAuthorizationController(authorizationRequests: [appleIDRequest])
            authVC.delegate = self
            authVC.presentationContextProvider = self
            authVC.performRequests()
        } else {
            // Fallback on earlier versions
        }
    }
    
    @available(iOS 13.0, *)
    func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
        return self.view.window!
    }
    
    @available(iOS 13.0, *)
    func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
        let authorError = error as! ASAuthorizationError
        if authorError.code != .canceled {
            CMScreenUIManager.showToastMessage(message: CMAlertConfig.login_failed)
        }
    }
    
    @available(iOS 13.0, *)
    func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
        switch authorization.credential {
        case let appleIDCredential as ASAuthorizationAppleIDCredential:
            let token = String(data: appleIDCredential.identityToken!, encoding: String.Encoding.utf8)
            loginApple(user: appleIDCredential.user, token:token ?? "")
            break
        default:
            break
        }
    }
    
}

3.原因分析

回馈信息中说,Sign in with Apple login选项并没有给用户分享或隐藏信息的选项。但问题是,我们首次授权时并没有去拿邮箱地址,除了首次授权后面的授权登录也拿不到信息。拿不到信息的时候,还隐藏个锤子。

是否隐藏邮箱,是否改变用户名,这是在向苹果拿这些数据时系统控制的是否显示。

下面列举一下requestedScopes参数传不同值时的区别。

[图一] requestedScopes = [] 首次授权时
[图二] requestedScopes = [.fullName] 首次授权时
[图三] requestedScopes = [.fullName, .email] 首次授权时
[图四] 不管传什么 非首次授权时

调试时如何关闭Apple ID对App的授权:

手机进入 设置 -> Apple ID -> 密码与安全性 -> 使用Apple ID的App -> App名称 -> 选择“停止使用Apple ID”

 

4.解决办法

只有这一个问题的话,可以去App Store Connect回复审核信息,给审核人员解释明白应该就可以。

我这边反正要重新提包,就先将授改成[图三]样式,提审时再给了解释说明(避免审核人员非首次授权登录时来找麻烦)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

寒假集训一期总结(一)–––思维训练

目录 思维训练 走方格 解题思路 参考代码 最短曼哈顿距离 ​编辑 解题思路 参考代码 酒厂选址 解题思路 参考代码 雪地足迹Tracks in the Snow 解题思路 参考代码 一个星期没有更博客了…这一个星期,去学校信竞集训的我收获颇丰,下面就是我的还加集训总结 思…

【小白向】让电脑成为热点WIFI

让电脑成为热点WIFI 本文针对下述情况,有一台电脑,一部手机,但是电脑通过网线连接。此时电脑可以上网,手机没有流量, 仅能通过WIFI上网,但此时没有WIFI。 其实你的电脑可能自己本身就能作为热点发布WIFI&…

绕任一向量旋转矩阵计算思考与实现

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 问题提出 如图所示,在空间中有一向量A,问点O绕A方向逆时针旋转角度α的矩阵如何表示。 问题分析 问题化规 直接去构造一个矩阵是比较困难的。…

自从我学会了Jenkins的自动构建,我再也没有每次都打包上传到服务器然后发布Java服务了

上次我们讲了使用Jenkins部署maven项目 工作两年半,终于学会了Jenkins部署Maven项目 这次我们来讲一下每次提交代码的时候Jenkins自动构建 我们使用的代码仓库是gitee 文章目录🏃第一步,我们在Jenkins中安装gitee插件🏃第二步&am…

Go语言并发编程及依赖管理

目录🧡并发编程GoroutineCSP(Communicating Sequential Processes)🧡依赖管理依赖演变依赖管理三要素💟这里是CS大白话专场,让枯燥的学习变得有趣! 💟没有对象不要怕,我们new一个出来&#xff0…

Linux (open、write、read、close、lseek、chmod、sync)操作文件的函数详解

目录 一、文件操作方式 二、Linux底层文件操作 1. open 2. write 3. read 4. close 5. lseek 6. chmod 7. sync、syncfs、fsync、fdatasync 三、 Linux 系统调用 四、总结 linux中,一切皆文件(网络设备除外) 硬件设备也“是”文件&a…

力扣刷题记录——507.完美数、509. 斐波那契数、520. 检测大写字母

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《507.完美数、509. 斐波那契数、520. 检测大写字母》。 目…

InfluxDB + Grafana计算成功率

文章目录方式一 借助Grafana的Transfrom方式二 Influx子查询Transfrom介绍建议针对每类Metric,使用一个Metric,增加success的tag区分成功还是失败。 方式一 借助Grafana的Transfrom 第一步:新建2个Query Query Total: SELECT sum("coun…

安科瑞电气火灾监控系统在春晓161#地块人防工程的设计与应用

安科瑞 华楠摘要:本文简述了电气火灾监控系统的组成原理,分析了电气火灾监控系统在应用中的设计依据和相关规范。通过安科瑞剩余电流式电气火灾监控系统在春晓161#地块人防工程电气火灾监控系统项目的实例介绍,阐述了电气火灾监控系统功能的实…

c语言实现扫雷(详细讲解)

本篇介绍,讲解如何使用c语言实现扫雷小游戏. 金句分享: ✨✨✨爱你所爱,行你所行✨✨✨ 目录前言:一、游戏设计思路介绍:效果展示二、游戏的分步讲解2.1、主函数测试区(test.c)基本构成2.2、游戏中函数实现区(game.c) (重点)2.21、雷盘的创建与初始化函…

centos8 Ambari-2.7.6.3+HDP-3.3.1离线安装详细教程(附安装包)

自2021年1月31日开始,所有Cloudera软件都需要有效的订阅,且订阅费昂贵。此外,CDH6和HDP3将是CDH和HDP的最后企业版本,原有企业版用户无法继续获取新的功能和性能提升。至2022年3月份,CDH/HDP全部停止服务(EoS),用户没办法获取售后支持。由于生产环境系统升级到centos8,…

linux 中 PCIE 中断映射机制

PCIE 中断映射机制 1、 PCIE 中有三种中断方式, MSI,MSI-X 和INTx PCIe总线继承了PCI总线的所有中断特性(包括INTx和MSI/MSI-X),以兼容早期的一些PCI应用层软件。 PCI总线最早采用的中断机制是INTx,这是…

基于Flink+kafka实时告警

引出问题 项目使用告警系统的逻辑是将实时数据保存到本地数据库再使用定时任务做判断,然后产生告警数据。这种方式存在告警的延时实在是太高了。数据从产生到保存,从保存到判断都会存在时间差,按照保存数据定时5分钟一次,定时任务…

智慧水务能效管理平台在污水处理厂电气节能中的应用

摘要:污水处理属于高能耗行业,会消耗大量的电能、燃料和药剂等,高能耗不仅会提升污水处理成本,还会加剧能源危机。所以,本文首先探究了污水处理厂耗能的原因,分析了污水处理与节能降耗的关系,然…

MyBatis-Plus数据安全保护(加密解密)

项目创建POM依赖 <dependency><!--MyBatis-Plus 企业级模块--><groupId>com.baomidou</groupId><artifactId>mybatis-mate-starter</artifactId><version>1.2.8</version> </dependency> <!-- https://mvnrepository…

git commit 命令详解

文章目录前言1. git commit 介绍2. git commit 使用3. git commit -m4. git commit -am5. git commit --amend6. commit 多行提交信息7. commit 背后到底发生了什么前言 CSDN 只用来做博客主站文章的转载 博客主站&#xff1a;https://www.itqaq.com 下面地址路径可能会发生变…

Java---中间件---Redis的常见命令和客户端使用

Redis的常见命令和客户端使用1.初识Redis1.1.认识NoSQL1.1.1.结构化与非结构化1.1.2.关联和非关联1.1.3.查询方式1.1.4.事务1.1.5.总结1.2.认识Redis1.3.安装Redis1.3.1.依赖库1.3.2.上传安装包并解压1.3.3.启动1.3.4.默认启动1.3.5.指定配置启动1.3.6.开机自启1.4.Redis桌面客…

VulnHub2018_DeRPnStiNK靶机总结

VulnHub2018_DeRPnStiNK靶机渗透总结 靶机下载地址: https://download.vulnhub.com/derpnstink/VulnHub2018_DeRPnStiNK.ova https://www.dropbox.com/s/8jqor3tuc3jhe1w/VulnHub2018_DeRPnStiNK.ova?dl0 打开靶机,使用nmap扫描出靶机的ip和开放的所有端口 可以看到,靶机开放…

从零开始学习Linux

Linux Linux内核版本&#xff1a;Linux内核运维开发小组&#xff0c;源码在不开源 Linux发行版本&#xff1a;由各大互联网/软件公司定制&#xff0c;开源 一个内核版本是有多种多样的发行版本 Ubuntu&#xff1a;以强大的桌面应用为主&#xff0c;吸收不少Windows用户&…

Docker部署jeecgboot微服务使用记录

docker安装和基础命令 docker安装 docker安装详细步骤 Docker命令 #进入容器 sudo docker exec -it 775c7c9ee1e1 /bin/bash # docker中 启动所有的容器命令 docker start $(docker ps -a | awk { print $1} | tail -n 2) # docker中 关闭所有的容器命令 docker stop $(doc…