Full analysis of IPV6 audit rejections

Since June 1st last year, Apple has made it clear that all developers must support ipv6-only networks when submitting new versions of iOS. Many iOS developers have experienced rejectionsdue to the lack of IPV6 network support.

First of all, a review was rejected.

Displacement for your App When your App was running IOS 10.3.2 on Wi-Fi Connected to an IPv6 network. Specifically, the app launched to a blank page. Please see attached screenshots for details.

Next Steps

To resolve this issue, please run your app on a device while connected to an IPv6 network (all apps must support IPv6) 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.

Running iOS 10.3.2 oN an iPad with a Wi-Fi connection to aN IPv6 network, the app launches with a blank page. Please run your application on the device, connect to the IPv6 network, then modify and resubmit your application for review.

A brief introduction to IPV6 and how to build detection environment

First, IPV6 is an expansion of the IPV4 address space. At present, when we use iOS devices to connect to Wifi, 4G, 3G and other networks, the addresses assigned to the devices are IPV4 addresses. However, with the gradual deployment of IPV6 DNS64/NAT64 networks by carriers and enterprises, the addresses assigned to the devices will become IPV6 addresses. These networks are known as ipv6-only networks and can still access content provided by IPV4 addresses. To put it simply, IPV4 is not enough, so we need to switch to IPV6. This is based on Apple’s user experience, but also to make users comfortable. To test whether IPV6 is supported or not, there are more detailed methods:

  • Apple official document construction method
  • Apple app launch rejected because IPv6 is not supported, local IPv6 test method

Ii. Solutions

In general, there are three problems:

  • The server does not support IPV6
  • The third-party SDK imported in the project does not support IPV6
  • The network requests involved in the project do not support IPV6

In addition to these, there are some other factors, such as Apple is reviewing, and your background in the deployment interface, this is really pit dad 😤 ah, not to say, feel tears can not stop flowing down;

1. The server

① check whether the server supports IPV6 terminal input the following code :(refer to the online method)

Dig +nocmd + nostats your domain AAAA

This is to see if your server is responding under IPV6.

Jane book domain name detection



② Change the server configuration of Aliyun Ubuntu support IPv6 complete steps

2. Third-party SDKS

These problems generally occur in the maintenance of the APP. Because the time of the first-time developer of the APP is relatively long, the SDK used in the project will have some functions missing. Here are a few issues with third-party SDKS; 1) Reachability





The reasons are as follows:

#pragma mark reachabilityForLocalWiFi



//reachabilityForLocalWiFi has been removed from the sample.  See ReadMe.md for more information.



//+ (instancetype)reachabilityForLocalWiFi;Copy the code

②JPush aurora (v2.1.7 support) This is a problem we encountered in the project. The SDK version is too late and does not support IPV6.









Aurora Document address

③ Micro-blog SDK(v3.1.4 support)







Weibo SDK document address

④ UmENG (v5.2.1 support)






Umeng document address

⑤ wechat (supported in V1.5)









Wechat document address

⑥QQ(not specified)









QQ Document address

⑦ Alipay (not specified)









Alipay document address

Baidu Map (supported from V3.0.0)






Baidu Map document address

⑨ Huanxin (supported in V3.1.3)






Ring letter document address

⑩ IFLYtek Voice (v1.133)






Iflytek voice document address

Of course, there are many other SDKS, here is not a list, according to the project used in which, see the official documentation SDK version history comparison line;

3. Network request

In fact, ipv6_Only processing is reviewed from two main aspects: its own network requests and third-party network requests, after all, due to network problems; AFNetworking supports IPV6.

Version support comes after 3.0;

Heard that net friend also met, of course, other problems: (this I didn’t meet, but still remember here 😆) under Intranet access is not possible to connect to your server, test the public behind ali cloud servers, can normal connection, this may be DNS64 in search in the process of ipv6, and no search Intranet network, The Intranet connection fails.

If they failed to solve your problem, you can see the following article: www.jianshu.com/p/a6bab07c4…

Finally, thanks to the author of the reference article for sharing, hope the siege lions solve the bug as soon as possible, continue to masturbate the code, O(∩_∩) haha ~

Ipv6 Ipv6_Only has been rejected 6 times for iOS.