ios IPv6 应用商店拒绝

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/37637818/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 09:15:35  来源:igfitidea点击:

IPv6 App Store Rejection

iosamazon-web-servicesapp-storeapp-store-connectalamofire

提问by Sean Thielen

Our update has been rejected twice today for ipv6 network connectivity issues. Our networking code has not changed between the previous release and this current release.

由于 ipv6 网络连接问题,我们的更新今天两次被拒绝。我们的网络代码在上一版本和当前版本之间没有变化。

The app only makes https network requests to api.metooapp.io, which is correctly configured for ipv6 [0] and runs behind route53 on AWS. There are no hard-coded IP addresses in the code.

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

I am unable to reproduce this issue, even after following the steps to create an ipv6 network at [1] which is the link that was provided in the rejection notice. It looks like I'm not the only one experiencing this issue, either [2].

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

回答by Sean Thielen

After quite a bit of stress, I can confirm that the issue was a problem with our backend not being correctly configured for IPv6. Apparently, AWS doesn't support IPv6, nor IPv6-only DNS through Route53. I ended up moving all the internet facing bits of the backend away from AWS for the time being.

经过相当多的压力后,我可以确认问题是我们的后端没有为 IPv6 正确配置。显然,AWS 不支持 IPv6,也不通过 Route53 支持 IPv6-only DNS。我最终暂时将所有面向互联网的后端部分从 AWS 上移开。

I wanted to leave this up because I think there are probably going to be others who find themselves with similar problems as people start submitting updates past the IPv6-only restriction. The best tool I found for testing server/dns readiness has been: http://ready.chair6.net/

我想放弃这个,因为我认为可能会有其他人发现自己遇到类似的问题,因为人们开始提交超过 IPv6-only 限制的更新。我发现的用于测试服务器/DNS 准备情况的最佳工具是:http: //ready.chair6.net/

回答by lucianoenrico

Please note that Supporting IPv6-only Networksand IPv6 and App Reviewlink can be very helpful in determining what's the problem with apple rejections. In this specific case the articles clearly state that you can setup the DNS64/NAT64 test network but that "This test network is not exactly the same as the network used by App Review", that's why everything can work in the test environment and still have the app rejected.

请注意,Supporting IPv6-only NetworksIPv6 and App Review链接对于确定苹果拒绝的问题非常有帮助。在这种特定情况下,文章明确指出您可以设置 DNS64/NAT64 测试网络,但“此测试网络与 App Review 使用的网络不完全相同”,这就是为什么一切都可以在测试环境中工作并且仍然具有该应用程序被拒绝。

Moreover:

而且:

The App Review network, like the networks deployed by service providers, does support IPv6-to-IPv6 connectivity. Thus, if your server supports IPv6, your app will talk to it directly, without going through the NAT64 translator. This is, in general, a good thing, but it can trip you up if your server claims to support IPv6 but that IPv6 support is broken. For example, if: the DNS name is incorrect the DNS is correct but the server is not listening on IPv6 the server is listening on IPv6 but fails when a request comes in over IPv6

App Review 网络与服务提供商部署的网络一样,确实支持 IPv6 到 IPv6 的连接。因此,如果您的服务器支持 IPv6,您的应用程序将直接与其对话,而无需通过 NAT64 转换器。一般来说,这是一件好事,但如果您的服务器声称支持 IPv6,但 IPv6 支持被破坏,它可能会让您失望。例如,如果: DNS 名称不正确 DNS 正确但服务器未侦听 IPv6 服务器正在侦听 IPv6 但当请求通过 IPv6 传入时失败

So if your backend server has support for IPv6 the apple test network will use it, and it is what has been wrong in this case.

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

I add this as a reference and starting point for other users that experience the same problem

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

回答by DesignatedNerd

We ran into this same problem, and it turned out while we had setup an AAAA record for IPv6, since we didn't actually have IPv6 support (we're also using Route53), it borked everything. Removing the AAAA record fixed the issue.

我们遇到了同样的问题,结果是当我们为 IPv6 设置了 AAAA 记录时,因为我们实际上没有 IPv6 支持(我们也在使用 Route53),它使一切都变得糟糕。删除 AAAA 记录解决了该问题。

I've filed a radarabout the discrepancy between the documentation for testing and the setup App Review is using - we were only able to diagnose it because our CTO was at WWDC and was able to connect to their network, which is not exactly a situation we can reproduce regularly.

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

回答by MP23

We ran into similar situation. Our app was rejected due to connectivity problems in IPv6 networks. Also our servers are using AWS.

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

I've performed Test for IPv6 DNS64/NAT64 without any issue on my side, and we decide to submit an appeal to this rejection.

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

We explained that the test on our side was finished with success and that we are using AWS infrastructure.

我们解释说,我们这边的测试已成功完成,并且我们正在使用 AWS 基础设施。

After two more days the app was again reviewed and accepted

又过了两天,该应用程序再次被审核并接受

回答by ramon.liu

Our app is rejected the first time, we setup the local test environment based on apple documentand find our curl lib is too old without enable ipv6 by default. So we build latest curl lib and it works. But it's rejected again because same reason. I check a lot information, find someone had same experience, just complaint to Apple reviewer to say your app works well in test environment and ask them to provide an engineer to help if they insist there is some error. Apple review team approved our app in the weekend when they saw our complaints.

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

As I know there are 2 issues you need check. Do you hard code ip address in your app? Do you setup your AAAA record for your server domain to show it supports ipv6, but your server doesn't listen to ipv6. If yes, just remove that AAAA record in your domain settings from your domain provider site.

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

回答by Ern Zhang

we met the same problem。 Our App has been rejected serval times for ipv6 reason . But We have been test in the ipv6 network which configed as APPLE's Offical Document: https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

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

回答by BeyazBaron

Reachability library must support IPv6 network settings. So use this Reachability class.

可达性库必须支持 IPv6 网络设置。所以使用这个 Reachability 类。

https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007324

https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007324

回答by Mahesh Agrawal

This is 2nd time i have encountered this issue after 6 month. Previously it was in Objective-C project using AFNetworking and i used this solution and it worked on one go. Now same happened with Alamofire. Guys this solution is worked for me 2 times and i found this question is coming first in google so i am posting the answer.

这是我在 6 个月后第二次遇到这个问题。以前它是在使用 AFNetworking 的 Objective-C 项目中,我使用了这个解决方案,它一次性工作。现在 Alamofire 也发生了同样的事情。伙计们,这个解决方案对我有用 2 次,我发现这个问题首先出现在谷歌,所以我发布了答案。

Search in the workspace for AF_INET and change it to AF_INET6 anywhere you found. I think it must be inside the AFNetworking library or Alamofire library if you are using it. Its in the NetworkReachabilityManager class.

在工作区中搜索 AF_INET 并将其更改为 AF_INET6 您找到的任何位置。如果您正在使用它,我认为它必须在 AFNetworking 库或 Alamofire 库中。它在 NetworkReachabilityManager 类中。

I found this answer from the below source.

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

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

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

EDIT: - 24th June -

编辑: - 6 月 24 日 -

This helped me so many times but there is a strange solution to this problem also. In our recent project we have applied this solution but still apple rejected the application. Then we made a video which was showing that the app is running fine with connected to a NAT64 network created on a Mac from wifi sharing option. We appealed for review with the video and they approved the application. So if you are done with all your options, try this one too.

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

回答by Anand Nanavaty

You can check your API in below website, is your API iPV6 configure or not!

您可以在以下网站查看您的 API,您的 API iPV6 是否已配置!

http://ipv6-test.com/validate.php

http://ipv6-test.com/validate.php

回答by Phani Sai

I've performed Test for IPv6DNS64/NAT64without any issue as prescribed by Apple documentation

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

however, we are unable to reproduce the issue (Crash). We successful install app in our devices without crashes.

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

  • We took a video of this total testing process (which includes showing connectivity, downloading from testflight, NAT64 network connection , app operations)
  • and appeal for rejection with the video file
  • 我们拍摄了整个测试过程的视频(包括显示连接性、从 testflight 下载、NAT64 网络连接、应用程序操作)
  • 并用视频文件上诉拒绝

Finally, app store APPROVEDmy app

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