We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 14.1

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 14.1

问题描述和AAAA配置及检查参考《iOS审核在ipv6网络下无法访问服务器的问题及解决方案》。

苹果app审核人员用苹果手机或iPad无法连接到我们域名服务器,导致打不开网页和调用请求接口

https://app.haoruifuwu.com/h5/html/agreementa.html网页在IPv6网络下无法打开。国内的网络基本上使用的时IPV4,苹果审核人员都在美国,美国使用的是IPV6网络。所以就出现在国内app和网页运行的好好的,在美国审核人员测试时却发现打不开网页和连接服务器。开始我推测可能是没有弹出允许使用网络才导致无法使用网络的。后来上传一个新版本显示网络请求错误码,才拦截到AFNetworking组件抛出的请求网络错误码-1017(响应数据无法解析)。

下面是拒绝app审核的理由:

2020年10月21日 下午11:38
发件人 Apple
1. 5 Safety: Developer Information
2. 1 Performance: App Completeness
Guideline 1.5 - Safety - Developer Information


The support URL specified in your app’s metadata, https://app.haoruifuwu.com/h5/html/agreementa.html, does not properly navigate to the intended destination.

Next Steps

To resolve this issue, please revise your app’s support URL to ensure it directs users to a webpage with support information.

Guideline 2.1 - Performance - App Completeness


We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 14.1 and 14.0.1 on Wi-Fi.

Specifically, the app loaded with error in both login process.

Next Steps

To resolve this issue, please run your app on a device to identify any issues, then revise and resubmit your app for review.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.

Resources

For information about testing your app and preparing it for review, please see Technical Note TN2431: App Testing Guide. 

For a networking overview, please review About Networking.



Please see attached screenshots for details.

一:经过找度娘和多次分心,才基本定位到是IPV6网络无法解析域名的问题。我们配置AAAA配置也不行。我们用相同的网络请求发布了好多app了,都没有遇到这个问题,我最终还是怀疑是阿里云服务器没有配置IPV6。

相似的拒绝原因是:

We discovered one or more bugs in your app when reviewed on iOS 12 on Wi-Fi connected to an IPv6 network.

二:苹果针对 IPv6 的审核机制 & 流程

从2016年 6 月 1 日开始,苹果规定所有提交至 App Store 的应用必须要兼容面向硬件识别和网络路由的最新互联网协议-- IPv6-only 标准。


不过很多开发者反应即使严格按照苹果提供的方法来测试,也依然被拒。其实这和对苹果的审核机制不甚了解有很大关系,下面小编为大家科普下苹果针对 IPv6 的审核机制和流程:

图示展示了苹果审核时的简单原理:


苹果 App Store 审核人员在美国的 IPv6-Only 环境下对 APP 进行访问(审核),提交 App 后,


如果 App Server 支持 IPv6,则可直接访问;


如果 App Server 不支持 IPv6,则通过 DNS64 +NAT64 进行访问。


据统计,大部分开发者的 App 服务器都是不支持 IPv6 直接访问的。也就是说,App Store 审核人员审核时,基本都是用 NAT64+DNS64 进行访问的。那么接下来我们重点了解一下 NAT64+DNS64 的访问机制,如下图示:

20201029154912153.png 从上图可以看出审核的关键在于能不能获取一个有效的 Server IPv6 地址。


苹果公司的 App 审核人员进行审核时,由于国内大部分开发者的服务器不支持 IPv6-Only 访问,因此只能通过苹果公司自己的 NAT64+DNS64 服务器进行测试,如果苹果的服务器不能有效的给 App Server 返回一个 IPv6 地址,就会导致无法访问等问题。其结果便是审核失败,App 被拒。

一句话概括:你的服务器可以不支持 IPv6-Only 但是必须支持 IPv6-Only 网络下能解析你服务器域名。

三、被拒原因 & 解决方式详解


通过综合被拒理由原文、IPv6 的审核机制和流程等,其实我们可以很容易地总结出 iOS 应用因 IPv6 审核被拒的大体原因:


1、国内大部分 App 服务器不支持 IPv6-only;


2、苹果公司的审核环境不能自动将国内服务器地址转成 IPv6 地址,导致访问失败;(据样本统计,绝大多数 App 是因为这个原因木有过审…)


当然,除了这两点之外,国际线路带宽严重拥堵等原因也会造成访问的不稳定或访问失败。


而对于因 IPv6 问题审核被拒后所能采取的方法,小编也进行了一番整理,大家可以根据实际情况来采取相应的措施:


1.如果 App 本身不兼容 IPv6,最好的办法是让 App 本身兼容 IPv6 或通过升级服务器来支持 IPv6;


2.如果 App 本身已兼容 IPv6,是审核人员所在的网络环境导致的问题,其解决方式之一是截图或拍下视频向苹果申诉;另一个办法就是什么都不动,尝试多次提交审核(运气好的话,就过啦 __)。

针对具体情况首先最直接解决方案是把你的服务器开启IPV6域名服务,这个也是终极解决方案。首先你的服务器要能支持IPV6域名服务,阿里云服务器暂时仅以下地域支持创建IPv4/IPv6双栈VPC:华东1(杭州)、华东2(上海)、华南1(深圳)、华北2(北京)、华北5(呼和浩特)、中国(香港)和新加坡。幸好我们公司采用的是杭州的阿里云服务器。要明白一点,开启IPV6域名服务是需要按天收费了。你不差钱直接按照Linux实例使用IPv6导航开通就可以。虽然外行操作很麻烦,我提了阿里云工单,折腾了一天才走到第4步配置IPv6地址这一步还经常报这错拿错,中间第2,3老是出错,找阿里云技术支持才搞定,真是多灾多难啊!

步骤1:搭建IPv6 VPC,这一步需要你参加一个测试计划,你参加就可以按照文章出牌了。

步骤2:分配IPv6地址。我的就是这一步出现了问题,导致搞了一天。

点击管理

点击管理辅助私用IP

注意:在IPv6 地址:后面那个方框中一定要输入合法的IPv6域名地址。我遇到的地址就是没有输入这个地址,导致第3步IPV6公网带宽一直没有。

步骤3:开通IPv6公网带宽分配IPv6地址成功看到的是下面这样:

若你不在乎这点钱直接点立即购买。我们没有购买。

步骤4:配置IPv6地址,下载ecs-util-ipv6工具。

用工具配置IPv6地址一直报错:

重新更具IPv6地址配置AAAA配置。


我们不想出IPv6服务服务费的钱,像别的人说的配置AAAA配置就能在IPv6下解析出来域名,实际就是把外部域名映射为内网域名。死马当活马医,直接提交审核。最后竟然审核过了。

综上所叙述,需要给服务器分配IPv6地址,配置正确的AAAA配置,并不一定开通IPv6域名服务。

目录
相关文章
|
4月前
|
iOS开发 开发者
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
解决xcode doesn‘t support iphone’s ios 14.6 (18f72)
282 3
|
21天前
|
传感器 iOS开发 UED
探索iOS生态系统:从App Store优化到用户体验提升
本文旨在深入探讨iOS生态系统的多个方面,特别是如何通过App Store优化(ASO)和改进用户体验来提升应用的市场表现。不同于常规摘要仅概述文章内容的方式,我们将直接进入主题,首先介绍ASO的重要性及其对开发者的意义;接着分析当前iOS平台上用户行为的变化趋势以及这些变化如何影响应用程序的设计思路;最后提出几点实用建议帮助开发者更好地适应市场环境,增强自身竞争力。
|
4月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
212 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
4月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
225 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
4月前
|
BI Linux 数据安全/隐私保护
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
138 0
|
7月前
|
存储 Web App开发 Android开发
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
685 1
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
|
24天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
1天前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
77 66
|
11天前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
|
16天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。