AppStore IPv6-only audit rejected reason analysis and solutions-a, appstoreipv6-only

Source: Internet
Author: User
Tags fully qualified domain name

AppStore IPv6-only audit rejected reason analysis and solutions-a, appstoreipv6-only
Apple's IPV6 Regulations

A few days ago, Apple issued a reminder to developers that the company will modify the application Store App Store Regulations, all IOS applications must include support for IPv6-only standards. It is reported that this provision takes effect in June 1, all applications submitted to the Apple App Store application must be compatible with the hardware identification and network routing of the latest Internet protocol-IPv6-only standards. This action by Apple will also help accelerate the popularization of IPv6.

1. You only need to ensure IPV6 compatibility on Apple's latest system.
2. NSURLConnection CFNetWork NSURLSession supports IPv6.
3. AFNetworking. For historical reasons, the application code basically references the AFHTTPRequestOperation class in depth. Therefore, currently, all API network requests must be sent through NSURLConnection, after testing, NSURLConnection supports IPv6.
4. reachability is determined by a large number of applications in the program, but it uses IPV4-specific APIs. After testing, it can be used in IPV4 and IPV6 network environments of systems above iOS9, however, when switching between IPV4 and IPV6 on iOS8, the network status cannot be monitored. This may be because Apple does not support IPv6, however, this still meets Apple's requirements for supporting IPV6 in the latest system version. In fact, Apple has processed zero Address above iOS9, and Reachability can support IPV6 and IPV4 on iOS9, however, there is a bug in iOS9, and the monitoring network may be faulty.

Measures to avoid rejection
  • Use the network communication framework;

That is to say, we recommend that you use the network communication framework built on the upper layer of the socket or a third-party network communication framework that comes with the iOS SDK. In this way, you don't have to worry about the above 2nd items when using the network communication framework. If you are using a third-party network communication framework, remember to ask the developer of the framework: "Do you support IPv6 ?"
As one of the network communication frameworks, ProudNet™Yes, IPv6 is supported. It is supported since the latest version in December 2015. To support IPv6, users of ProudNet should use version December 2015 or later.

  • Avoid using IPv4-specific APIS;

If you program the socket layer yourself, remember not to use the IPv4 API. For example, you cannot use the following APIs (whether using these functions alone will become the reason why Apple refuses to pass the application review is unknown. ProudNet does not use these functions at all ).
Inet_addr ()
Inet_aton ()
Inet_lnaof ()
Inet_makeaddr ()
Inet_netof ()
Inet_network ()
Inet_ntoa ()
Inet_ntoa_r ()
Bindresvport ()
Getipv4sourcefilter ()
Setipv4sourcefilter ()
To test whether an IPv6 environment works normally, you need to build an IPv6 only network environment. There are many methods. We use the Mac machine method.

Avoid using hard-coded addresses (IP addresses)

Apple uses the term hard-coded address. However, this is simply a simplified description of Public friendliness. The correct learning name should actually be IP literal. For example, it is like "11.22.33.44.
On the other hand, what we usually call "hostname", for example, "server1.mygame.com", is known as FQDN (fully qualified domain name ).
You ask, what will happen if we connect an IP address literal to the server? Clients in some IPv6 networks cannot connect to servers in IPv4 networks (although this problem will be partially solved after iOS 9.2, but it cannot be guaranteed that there is no problem in all IPv6 networks ).
And vice versa-the client is in IPv4 and the server is in IPv6.
As for the reason why it cannot be connected, we should start with the link between NAT64 and DNS64. Because the content is a little long, I will not go into details here.
Should it be swollen? Follow the instructions of Apple's adults "(?) . When an IPv4 literal is connected through FQDN instead of IPv4 literal, the server must be able to receive the request. The FQDN is used when the client connects to the server.

The preceding content is illustrated as an example:

-11.22.33.44 ==> Apple will block you-server.mygame.com ==> OK-11: 22: 33: 44: 55: 66: 77: 88 ==> Apple will block you

About IPV6

With the rapid development of the Internet and the increasing number of devices connected to the Internet, the depletion of traditional IPv4 addresses is a foreseeable future. Therefore, it is used to replace the next-generation IP protocol of the current version of the IP protocol (IPv4, IPv6 technology has become the mainstream IP technology in the future.
According to a message published by apple on the developer site, many existing applications have been compatible with the IPv6-only protocol, because the protocol has been supported by NSURLSession and CFNetwork API. Developers who use IPv4 APIs or hardware-encoded IP addresses must modify the application code to be compatible with this new policy.
In addition to Apple, the industry is also slowly accepting IPv6-only protocols, especially mobile network service providers. As the total number of connected devices increases and new mobile phones are launched faster, IPv4 addresses will be quickly exhausted. As a follow-up technology, IPv6 will completely replace IPv4 in the near future.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.