苹果官方要求在iOS App中提供帐户删除选项_ios 上架审核 该应用程序支持创建帐户,但似乎不包括启动帐户删除的选项。-程序员宅基地

技术标签: App Store  苹果  iOS  ios  

背景情况

最近发布iOS应用到市场时,在审核阶段被官方打回。
查看原因惊讶地发现,审核团队竟然说缺少账号删除功能?
经过一番百度搜索后,才发现官方又有新的审核政策,那就是要求在2022年6月30号之后提交的iOS应用,如果有账号注册功能,则必须包含账号删除功能,无论该账号是手动注册、通过苹果账号授权注册还是自动注册都需要。
以下是官方发布的原文:
(中文版)iOS要求在App中提供帐户删除选项
(英文版)iOS required offering account deletion in app

解决方案

在官方这种要求之下,慌乱间倒是很快就想出方法,毕竟我也面对过各种审核难题,算是身经百战了。
以下是几个解决方案:

1、永久或暂时去除账号注册功能

这个方案适用于那些实际并不太需要账号注册的工具类或单机游戏应用,例如天气预报、信息检索、图文音视频观看等。
如果做不到永久去除,也没有更好的解决方案之前,可以考虑做个远程开关。
在服务器后端程序或数据库里增加采用配置开关账号注册功能的。
App进入时,通过接口或其他方式获取到配置开关状态,从而在审核阶段可以关闭注册账号功能,避开问题,并在审核通过后再开启。
在这种情况下如果确实需要用户身份,也可以提供一个临时性的账号身份,并且告知用户会在退出应用后销毁该账号的所有信息。

2、责令后端同事配合制作账号删除功能

在目前国内外对个人隐私信息要求越来越严格的情况下,在苹果官方的要求下,这是App开发中最省事也是最正确的做法。
App开发依旧只需要提供一个合适的入口位置和完成接口调用,剩下的各种数据关联与清理工作都是交给后端同学完成的。
甚至如果App本身是有程序后台可以高度自定义的话,这个入口是非常容易实现的,像我的App实际上有很多入口是可以定义成网页端,然后不需要重新打包生成App,只需要在网页端快速制作一个简易的页面就可以调用后端接口执行删除行为。

3、制作一个指引删除账号帮助文章

这是既符合官方要求又可以让删除行为显得更“人性化”和更有缓冲余地的。
这个方式最简单的实现依旧是App开发需要提供一个合适的入口位置,入口链接向本地或者网页端上的帮助文章,该帮助文章将指导用户进行删除账号的登记,这种登记可以借助原本的在线即时沟通、在线留言、问题反馈渠道,甚至是发送邮件去完成。
登记后将由App负责人/客服/网站管理员或者其他工作人员进行人工审核,甚至可以主动联系用户进行最终确认,之后才进行手工删除。
这种方式的好处是,实际大部分行为依旧是人工控制,可以在没有事先做好相应自动化程序的前提下,通过人工调节删除行为流程中的用户体验、难易度、删除范围等。

最终选择

因为时间短任务急,并且App中有很多内容可以通过后端程序控制,于是我选择了第三种方式。
先在App首页添加了一个明显的入口链接帮助指引,指引中阐述了用户应该如何操作和人工会多久完成审核确认。
并在指引中提供了原有的站内信功能入口,让用户按照指引要求的格式发送文本内容给后台管理员,之后由后台管理员完成审核和删除工作。
完整的删除流程界面截图

由于不需要改动到App代码,于是在审核中进行回复和提供界面入口截图,第二天App状态就从拒绝变成通过,成功发布!

好了,以上就是我处理iOS App要求的账户删除功能的全过程,有问题可以留言,空闲时我会尽可能回复。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013102711/article/details/127797543

智能推荐

Red Hat 6.5 虚拟机——离线Python环境配置_redhat6.5 安装python-程序员宅基地

文章浏览阅读330次。第一章 在win 10 上 安装 Red Hat 6.5 虚拟机——测试环境配置第二章 Python环境安装第三章 tiff文件操作第四章 numpy库操作矩阵第五章 图像拼接_redhat6.5 安装python

C语言字符串_c 字符-程序员宅基地

文章浏览阅读2.7k次。文章目录字符串:1、c语言中表示一个字符串:字符串的输入和输入:如何用scanf输入带空格的字符串?2、char型指针和char型数组的区别3、字符串长度获取strlen4、字符串拷贝strcpy5、字符串拼接strcat注意:要求前面字符串申请的地址空间足够长,必须容纳两个字符串,否则会越界6、字符串的比较strcmp字符串比较是要区分大小写strncmp比较的是前n个字符相不相同,而不是第n个字符相不相同7、strstr判断字符串时候有某个字符串8、strtok 分割字符串 同sscanf9、strch_c 字符

解决win11家庭版无法使用cmd文件或bat文件问题_win11系统cmd打不开-程序员宅基地

文章浏览阅读6.4k次,点赞3次,收藏7次。a、创建用户变量 %Path% ,值为 C:/windows/system32。下面图文说明cmd文件无法执行的解决方法,bat文件同理。b、修改path 变量,添加 %Path%2、创建并编辑hyper-v.cmd文件。3、经验证,cmd文件可执行了。_win11系统cmd打不开

FTP上传文件经常中断或超时的解决方案-程序员宅基地

文章浏览阅读1.5w次。近日做了一个简单的活,就是把一个phpcms建的网站整站迁移到另一个空间上。原本应该是很简单的事情,无奈却处处碰壁,遇到各种问题。终于在今天把所有问题解决,特撰写此文以留纪念,同时这里面遇到的一些问题的解决方法希望能给需要的朋友一些帮助。任务:把用所在A服务器的A1域名下的phpcms所建的网站迁移到B服务器下B1域名下。环境:普通家用1.5..._为什么向服务器上上传数据总是中断

JAVA获取中文名字的首字母_java 获取名称对应 小写首字母-程序员宅基地

文章浏览阅读2.1k次。转自http://blog.csdn.net/leayefang/article/details/90822551、调用FirstLetterUtil类的getFirstLetter()方法,获取姓名的首字母。如:“阿鲁卓玛”获取首字母是“alzm”。 String firstLetter = FirstLetterUtil.getFirstLetter(“阿鲁卓玛”_java 获取名称对应 小写首字母

不能将 “const char *“ 类型的值分配到 “char *“ 类型的实体_qt 不能将 "const char *" 类型的值分配到 "char *" 类型的实体-程序员宅基地

文章浏览阅读2.4k次,点赞4次,收藏2次。解决方案打开项目–>属性–>c/c+±->语言–>符合模式–>否_qt 不能将 "const char *" 类型的值分配到 "char *" 类型的实体

随便推点

STM32-深入理解GPIO的8种工作模式_otg_fs_gccfg-程序员宅基地

文章浏览阅读4.6k次,点赞14次,收藏104次。对STM32中GPIO的8种工作模式做一个详细的说明_otg_fs_gccfg

python绘制有误差线的折线图_plt 带误差带的折线图-程序员宅基地

文章浏览阅读1.3w次,点赞8次,收藏44次。数据如上import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.font_manager as fm#读取数据data = pd.read_excel(r'C:\Users\Administrator\Desktop\图(1).xlsx',sheet_name = 5)..._plt 带误差带的折线图

vim :ctags+cscope_vim与ctags/cscope-程序员宅基地

文章浏览阅读424次。 转自:http://www.cnblogs.com/sunblackshine/archive/2011/08/25/2152962.html + http://easwy.com/blog/ 使用vim + cscope/ctags,就能够实现Source Insight的功能,可以很方便地查看分析源代码。 关键词: vim, cscope, ctags, tags ..._vim与ctags/cscope

ue4-shader-自定义shader代码hlsl_ue4 hlsl sample-程序员宅基地

文章浏览阅读6.4k次,点赞3次,收藏27次。title: ue4-shader-自定义shader代码hlslcategories: UnrealEngine4tags: [ue4, shader, hlsl]date: 2019-05-01 00:14:31comments: falseue4-shader-自定义shader代码hlsl前篇Shader Development - https://docs.un..._ue4 hlsl sample

python集合(set)类型_python set size-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏8次。集合(set)快速访问集合(set)涉及修改集合数据的相关函数以及运算符—程序说明集合(set)帮助文档_python set size

django 使用原生sql_django原生sql轉模型-程序员宅基地

文章浏览阅读3.2k次。Django中查询筛选数据时,大多数是使用封装好的orm,其中有一些较为复杂的sql语句很难使用orm实现,因此在此引入Django中原生sql的使用方法在Django中使用原生Sql主要有以下三种方法: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql 举例说明使用方法from djang..._django原生sql轉模型

推荐文章

热门文章

相关标签