IPv6应用商店拒绝


89

由于ipv6网络连接问题,我们的更新今天两次被拒绝。在先前版本和当前版本之间,我们的网络代码未更改。

该应用仅向api.metooapp.io发出https网络请求,该网络已为ipv6 [ 0 ] 正确配置,并在AWS上的route53后面运行。代码中没有硬编码的IP地址。

即使按照在[ 1 ] 处创建ipv6网络的步骤进行操作,我也无法重现此问题,这是拒绝通知中提供的链接。看来我并不是唯一一个遇到此问题的人[ 2 ]。


您正在使用AFNetworking(如果使用的是什么版本)?Reachability?第三方库?
布兰登

Alamofire 3.4.0和Reachability.swift,但是我使用Reachability的方式仅用于可选的后台任务。我的主要问题是,即使按照Apple的说明进行操作,我也无法重现。
肖恩·泰伦

在问题中也添加您的网络代码
error2007s

@ error2007s网络代码为Alamofire
肖恩·蒂伦

1
您是否购买了最新的Apple IPv6软件狗?
anders

Answers:


37

经过一番压力之后,我可以确认问题出在我们的后端未正确配置IPv6。显然,AWS不支持IPv6,也不通过Route53支持仅IPv6的DNS。我最终暂时将后端的所有面向互联网的部分从AWS移开了。

我想保留这一点,因为我认为随着人们开始提交仅通过IPv6限制的更新,可能会有其他人遇到类似的问题。我发现用于测试服务器/ DNS准备情况的最佳工具是:http : //ready.chair6.net/


2
您能否告诉我是否导致App Store拒绝的原因是您的服务器不支持IPv6流量?现在我已经连续3次遭到Apple拒绝,但我的代码与以前的版本没有什么不同。我正在使用Xamarin iOS,并将他们的Connectivity插件也更新到了最新版本,因为他们的IPv6出现了问题。我快要死了!我无法在此处的iOS设备上复制崩溃信息(即使是通过Mac Internet共享在NAT64 IPV6网络上)。
2016年

此拒绝是由您的服务器引起的,您的服务器不支持ipv6。Mangist
Pablo Ruan

@Sean Thielan,您好,我已经用ready.chair6.net测试了我们的服务器,但该服务器无法连接IPV6网络,但是该应用程序可以与我们测试过的同一台服务器正常工作,该服务器通过在我们的服务器上创建NAT64网络(针对IPV6网络)进行了测试带有10.0.2 OS版本的iPhone 5S设备,您是否可以为以下内容提供指导,我们是否需要将应用重新提交至应用商店或与Apple技术支持联系。还是我们需要配置服务器以支持IPV6网络?
Venkatesh

嗨@Venkatesh,您是否找到了此问题的解决方案,因为在同一情况下,我一直被Apple拒绝使用?
Mohamed Fadl Allah

你好,肖恩。我测试了我的API。它在这三个测试中均未通过.. DNS(IPv6 NS)DNS(MX记录)DNS(胶水)..这三个结果均为WARN。是苹果拒绝了我的应用程序的问题??它是练琴所有通过域测试..上ready.chair6.net ?????
2016年

11

请注意,支持“仅IPv6网络”和“ IPv6和应用程序查看”链接对确定苹果拒绝的问题很有帮助。在这种特定情况下,文章明确指出您可以设置DNS64 / NAT64测试网络,但“此测试网络与App Review使用的网络不完全相同”,这就是为什么所有内容都可以在测试环境中正常工作的原因该应用被拒绝。

此外:

与服务提供商部署的网络一样,App Review网络确实支持IPv6-to-IPv6连接。因此,如果您的服务器支持IPv6,则您的应用程序将直接与其通信,而无需通过NAT64转换器。通常,这是一件好事,但是如果您的服务器声称支持IPv6但IPv6支持被破坏,则可能使您陷入困境。例如,如果:DNS名称不正确,DNS正确,但是服务器未侦听IPv6服务器正在侦听IPv6,但是在通过IPv6发出请求时失败

因此,如果您的后端服务器支持IPv6,则苹果测试网络将使用它,而在这种情况下,这就是错误的。

我将此添加为其他遇到相同问题的用户的参考和起点


10

我们遇到了同样的问题,事实证明,当我们为IPv6设置AAAA记录时,由于我们实际上没有IPv6支持(我们也使用Route53),所以一切都变得很糟糕。删除AAAA记录可解决此问题。

我已经提交有关测试文档与App Review使用的设置之间的差异的雷达 -我们只能进行诊断,因为我们的CTO在WWDC并能够连接到他们的网络,这不完全是一种情况我们可以定期复制。


有趣。我以相同的方式配置了Route53,将AAAA记录别名为ELB。也许在下一个次要版本中,我将在AWS上重试,但没有AAAA记录。雷达的结果部分准确反映了我的经验。有一次我在出厂时重置了路由器,Macbook和iPhone,以完全确保它不是一些荒谬的缓存问题。我将继续进行调查,但我很高兴更新能够顺利进行,希望不再考虑。
肖恩·泰伦

您收到Apple对雷达的任何回应吗?
Kaiserludi

1
@Kaiserludi并没有正式发布,尽管我发现在开发论坛中,如果您正在寻找Quinn The Eskimo的一些帖子,他会为他们更新很多信息,以帮助您进行调试。这似乎特别有帮助:forums.developer.apple.com/message/147579#147579
DesignatedNerd

非常感谢。该链接确实非常有用。
Kaiserludi '16

6

我们遇到了类似的情况。由于IPv6网络中的连接问题,我们的应用被拒绝了。此外,我们的服务器正在使用AWS。

我已经完成了对IPv6 DNS64 / NAT64的测试,没有任何问题,我们决定对此拒绝提出上诉。

我们解释说,我们这一方面的测试已成功完成,并且我们正在使用AWS基础架构。

再过两天后,该应用再次被审核并接受


5

我们遇到了同样的问题。由于ipv6原因,我们的应用已被拒绝服务时间。但是我们已经在配置为APPLE官方文档的ipv6网络中进行了测试:https : //developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingforIPv6Transition/UnderstandingandPreparingforIPv6Transition.html#//apple_ref/doc/ uid / TP40010220-CH213-SW1


6
您找到解决方案了吗?我无法让我的应用程序评论被Apple接受,而且我没主意
乔恩

5

我们的应用程序第一次被拒绝,我们基于Apple文档设置了本地测试环境,并发现我们的curl lib太旧了,默认情况下未启用ipv6。因此,我们构建了最新的curl lib,并且可以正常工作。但是由于相同的原因,它再次被拒绝。我检查了很多信息,发现有人有同样的经历,只是向苹果评论家抱怨说您的应用程序在测试环境中运行良好,如果他们坚持认为有错误,请他们提供工程师帮助。Apple审核小组在周末看到我们的投诉后批准了我们的应用程序。

据我了解,您需要检查2个问题。您是否在应用中硬编码IP地址?您是否为服务器域设置了AAAA记录以显示它支持ipv6,但是服务器不监听ipv6。如果是,只需从域提供商站点中的域设置中删除该AAAA记录。



2

这是我6个月后第二次遇到此问题。以前,它是在使用AFNetworking的Objective-C项目中使用的,而我使用的是这种解决方案,并且可以一次性使用。现在,Alamofire也发生了同样的情况。伙计们,这个解决方案为我工作了2次,我发现这个问题首先出现在Google上,所以我发布了答案。

在工作区中搜索AF_INET,然后将其更改为AF_INET6。我认为如果使用它,它必须位于AFNetworking库或Alamofire库中。它在NetworkReachabilityManager类中。

我从以下来源找到了这个答案。

https://stackoverflow.com/a/38196337/4030971

编辑:-6月24日-

这对我帮助了很多次,但是对于这个问题也有一个奇怪的解决方案。在我们最近的项目中,我们已经应用了该解决方案,但是苹果仍然拒绝了该应用。然后,我们制作了一个视频,该视频显示该应用程序运行正常,并且已连接到Mac上通过wifi共享选项创建的NAT64网络。我们呼吁对视频进行审查,他们批准了该申请。因此,如果您已完成所有选择,则也可以尝试这一选择。



1

我已经IPv6 DNS64/NAT64按照Apple文档的规定进行了测试,没有任何问题

但是,我们无法重现该问题(崩溃)。我们成功地在设备中安装了应用程序而没有崩溃。

  • 我们拍摄了整个测试过程的视频(包括显示连接性,从testflight下载,NAT64网络连接,应用程序操作)
  • 并要求视频文件拒绝

最后,应用商店批准了我的应用


1
确保您的应用程序中没有包含插件的任何硬编码IP地址
Phani Sai

0

使用Facebook SDK时遇到了相同的应用拒绝。如果您使用Facebook SDK进行登录,那么在结束会话时注销用户非常重要。否则,将来您将面临类似的应用程序拒绝。我提供了以下代码,以帮助可能遇到类似问题的人员。

let loginManager = FBSDKLoginManager()
loginManager.logOut()

0

我通过向他们发送视频来解决了这个问题,表明我的应用程序可以在ipv6上运行。

  1. 使用macOS设置ipv6
  2. 您已连接到共享ipv6网络的录像带,并证明您的应用程序可在该环境下运行。

我尝试了视频路由。它向他们展示了我将Mac设置为IPV6 wifi,将手机连接到它并运行我的应用程序而没有问题。他们刚刚拒绝了我,说:“谢谢您的答复。在我们的审查过程中,我们发现您的应用程序即使在多台设备上进行测试,仍能启动白屏显示。” 然后遵循有关如何使用IPV6网络进行测试的建议;这些步骤与我在视频中向他们展示的步骤相同。总体而言,响应看起来可能是自动化的。如何与Apple Review Team的真实人物打交道?
ChillyPenguin

也许是devprograms@apple.com。
史蒂夫·汉姆

0

我的应用在应用商店上两次被拒绝。他们给使用OS 11.4的iPhone上的twitter登录提供了错误。我们遇到的主要问题是由于twitter的回调URL,而未在twitter的开发人员帐户上设置。当我在Twitter的开发人员帐户上设置回调URL时。它解决了我的问题。当我们未在Twitter的开发者帐户上设置回调URL时,当设备具有Twitter应用时,Twitter登录成功。但如果设备上没有Twitter应用,则会显示禁止错误403。

因此,设置回调网址可以解决我的问题,并且可以接受应用。

谢谢

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.