IPv6 App Store Failure

Today, our update was rejected for problems connecting to the ipv6 network. Our network code has not changed between the previous version and the current version.

The application only makes https network requests to api.metooapp.io, which is correctly configured for ipv6 [ 0 ] and works behind route53 on AWS. The code does not have hardcoded IP addresses.

I can not reproduce this problem, even after completing the steps to create the ipv6 network in [ 1 ], which is the link that was provided in the rejection notification. It seems like I'm not the only one experiencing this problem, either [ 2 ].

+86
ios amazon-web-services app-store itunesconnect alamofire
Jun 05 '16 at 2:17
source share
14 answers

After some stress, I can confirm that the problem was due to the incorrect configuration of our backend for IPv6. AWS does not seem to support IPv6, and the IPv6 DNS protocol is only through Route53. I ended up moving all the Internet backend bits from AWS.

I wanted to leave this because I think that there will probably be others who are facing similar problems, as people start sending updates beyond IPv6 only. The best tool I found for testing server readiness / dns was: http://ready.chair6.net/

+36
Jun 07 '16 at 21:50
source share

Please note that IPv6 and IPv6 only network support and browsing applications can be very helpful in determining that the problem is with apple deviations. In this particular case, the articles clearly state that you can configure the DNS64 / NAT64 test network, but "this test network is not quite the same as the network used in the application overview", so everything can work in a test environment and still have an application rejected.

Wherein:

An application viewing network, such as networks deployed by a service provider, supports IPv6 to IPv6 connectivity. Thus, if your server supports IPv6, your application will talk directly to it, without the need for a NAT64 translator. This is generally good, but it can disable you if your server claims IPv6 support, 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 is not executed when the request comes through IPv6

So, if your backend server supports IPv6, the Apple testing network will use it, in which case it was wrong.

I am adding this as a link and starting point for other users who are experiencing the same problem

+11
Jul 24 '16 at 12:08
source share

We ran into the same problem, and it turned out that we had a AAAA record setup for IPv6, since we actually did not have IPv6 support (we also use Route53), this all worked together. Fixed problem with recording AAAA.

I published a radar about the mismatch between the testing documentation and the App Review setup - we could only diagnose it because our technical director at WWDC was able to connect to my network, which is not quite the way we can regularly reproduce.

+10
Jun 14 '16 at 20:42 on
source share

We faced a similar situation. Our application was rejected due to connectivity issues in IPv6 networks. Our servers also use AWS.

I ran the test for IPv6 DNS64 / NAT64 without any problems on my side, and we decided to appeal this rejection.

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

Two days later, the application was reviewed and accepted again.

+6
05 Oct '16 at 8:28
source share

we faced the same problem. Our application was rejected by server-side times for ipv6 reason. But we tested the ipv6 network, which was set up as an official APPLE document: https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPvt_drept TP40010220-CH213-SW1

+5
Jun 17 '16 at 3:49 on
source share

Our application is rejected for the first time, we set up a local test environment based on an apple document and find that our curl lib is too old, without ipv6 permission by default. Therefore, we create the latest version of curl lib and it works. But he turned away again for the same reason. I check a lot of information, I find that someone had the same experience, just a complaint to an Apple reviewer to say that your application works well in a test environment and ask them to provide an engineer to help if they insist on some error . An Apple expert group approved our app on the weekend when they saw our complaints.

As I know, there are 2 questions that need to be checked. Do you have a hard IP address in your application? You are setting up your AAAA record for your server domain to show that it supports ipv6, but your server is not listening on ipv6. If so, simply delete this AAAA entry in your domain settings from the domain provider's site.

+5
Aug 23 '16 at 22:33
source share

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

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

+3
Oct 17 '16 at 1:55
source share

I DNS64/NAT64 test for IPv6 DNS64/NAT64 without any problems as prescribed by Apple documentation

however, we cannot reproduce the problem (Crash). We successfully install the application on our devices without crashing.

  • We took a video about this general testing process (which includes displaying connectivity, loading from testflight, NAT64 network connection, application operations).
  • and apply for rejection with the video file

Finally , the application APPROVED my application

+2
Nov 22 '16 at 5:31
source share

This is the second time I encountered this problem after 6 months. It used to be in an Objective-C project using AFNetworking, and I used this solution, and it worked in one way. The same thing happened with Alamofir. Guys, this solution works for me 2 times, and I found that this question comes first in google, so I am posting the answer.

Locate AF_INET in the workspace and change it to AF_INET6 anywhere. I think it should be inside the AFNetworking library or the Alamofire library if you use it. Its in the class NetworkReachabilityManager.

I found this answer from the source below.

stack overflow

EDIT: - June 24 -

It has helped me so many times, but there is a strange solution to this problem. In our recent project, we applied this solution, but still the apple rejected the application. Then we made a video in which it was shown that the application was working fine by connecting to the NAT64 network created on Mac from the wifi sharing option. We applied for viewing with the video, and they approved the application. Therefore, if you are done with all your options, try this too.

+2
Apr 03 '17 at 6:40
source share

You can check your API on the website below whether your iPV6 API is configured or not!

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

+2
Mar 31 '18 at 16:28
source share

I encountered the same application crash when using the SDK for Facebook. If you use the Facebook SDK to log in, it is incredibly important to log out after the session. Otherwise, you will encounter similar deviations of applications in the future. I have included the code below to help those who may be experiencing similar problems.

 let loginManager = FBSDKLoginManager() loginManager.logOut() 
0
Jun 07 '17 at 20:15
source share

I solved the problem by sending them a video showing that my application is running on ipv6.

  1. Configure ipv6 with your macOS
  2. The video tape that you are connected to the ipv6 shared network and prove that your application works in this environment.
0
03 Feb '18 at 1:55
source share

my application is rejected twice in the app store. They give an error when logging in to twitter on iphone with OS 11.4. The main problem arose because of the Twitter callback URL, which is not installed on the Twitter account of the developer. when i set the callback url in the developer account on twitter. This solves my problem. When we do not set the callback URL in the Twitter developer account, the Twitter login time will be successful when the Twitter application is installed on the device. but if there is no application, Twitter on the device gives a 403 error.

So setting the callback URL overcomes my problem and the application is accepted.

thank

0
Jul 09 '18 at 13:50
source share

You can create an IPv6 network yourself to test this problem if you are using an Ethernet connection. The steps for creating an IPV6 network on a Mac were explained in this answer.

Remember to press the ALT key when creating a network.

0
Jun 17 '19 at 9:30
source share



All Articles