So I have been working along with my team on iOS Applications and we have noticed quite a lot of times that developers and clients face issues when it comes to submitting apps that require internet connections. Most of them involve a rejection message as follows.
2.1 PERFORMANCE AND APP COMPLETENESS
_______________________________________________________________________________
Performance 2.1
We were unable to review your application as it got stuck on the loading screen itself. We have attached screenshots for your reference.
Next Steps
Please revise your app and test it while connected to an IPv6 network( all apps must support IPv6) to ensure it launches without any problems.
So What is IPv6?
IPv6 is an Internet Protocol that surpasses IPv4 which has been the standard for many years. It is represented in Hex values as opposed to Numerical numbers of IPv4 addresses like 198.168.8.3 , which in IPv6 are represented as 2001:0db8:0000:0042:0000:8a2e:0370:7334, which is comprised of 8 groups of 4 digit Hex values.
It will be the future of protocol , as the number of IP Addresses are growing day by day and will get exhausted one fine day.
How do you test on such a network?
There are two or more ways of doing so. Some of the ways I will show you as below.
1. You can connect to your 4G network like for example and Idea, or a JIO or a Airtel network as these networks run on IPv6 technology. This will be a good way to test apps.
2. You can simulate an IPv6 network. For this you need to make sure that the host network that simulates this is connected via an Ethernet cable , because the network to which you will need to connect to will be a wireless IPv6 network.
Steps for simulating such a network is as below.
(i). Open Preferences on your Mac. Hold down the ALT key and press the sharing button.
(ii). This will open a screen as shown below. On the left hand side you will see something called "Internet Sharing" . Select that.
(iii). As below you will be shown something called "Create NAT64 Network". Check that box.
(iv). Select the option in the "Share your connection from", and choose Ethernet or whatever LAN network you are connected to.
(v). In the to computers option select the "WiFi", option. If you want to modify the SSID or Security settings of the NAT64 network click WiFi Options.
(vi). Now click the checkbox of "Internet Sharing". It will ask you to start or cancel. Select start. And your WiFi hotspot now will broadcast via IPv6 network.
Hope that was simple enough. Further more if your app still is having issues and you think it is not IPv6 related you should log events when this happens. If your using third party tools like Siberian CMS or any other HTML based tools, make sure you build the app via XCode through a developer machine, that normally fixes such issues.
NOTE:
In Local Environment testing, Apple does not recommend this. Because there could be translation of addresses which still may not give you accurate results. Some of them are as follows.
- You can use the command dig on your terminal to see how your server reports its AAAA record.
- Some servers do not natively use IPv6 , so you can use something like ipv6-test.com
- Your server logs can give you accurate information on how IPv6 addresses are used.
- Avoid using hardcoded IP addresses, as mentioned the IPv4 addresses are normally hardcoded so its better to use domain name itself.
If you still have problems fixing this get in touch with us , we wll get it resolved for you.
Image Credits: Apple Developer Website
2.1 PERFORMANCE AND APP COMPLETENESS
_______________________________________________________________________________
Performance 2.1
We were unable to review your application as it got stuck on the loading screen itself. We have attached screenshots for your reference.
Next Steps
Please revise your app and test it while connected to an IPv6 network( all apps must support IPv6) to ensure it launches without any problems.
So What is IPv6?
IPv6 is an Internet Protocol that surpasses IPv4 which has been the standard for many years. It is represented in Hex values as opposed to Numerical numbers of IPv4 addresses like 198.168.8.3 , which in IPv6 are represented as 2001:0db8:0000:0042:0000:8a2e:0370:7334, which is comprised of 8 groups of 4 digit Hex values.
It will be the future of protocol , as the number of IP Addresses are growing day by day and will get exhausted one fine day.
How do you test on such a network?
There are two or more ways of doing so. Some of the ways I will show you as below.
1. You can connect to your 4G network like for example and Idea, or a JIO or a Airtel network as these networks run on IPv6 technology. This will be a good way to test apps.
2. You can simulate an IPv6 network. For this you need to make sure that the host network that simulates this is connected via an Ethernet cable , because the network to which you will need to connect to will be a wireless IPv6 network.
Steps for simulating such a network is as below.
(i). Open Preferences on your Mac. Hold down the ALT key and press the sharing button.
(ii). This will open a screen as shown below. On the left hand side you will see something called "Internet Sharing" . Select that.
(iii). As below you will be shown something called "Create NAT64 Network". Check that box.
(iv). Select the option in the "Share your connection from", and choose Ethernet or whatever LAN network you are connected to.
(v). In the to computers option select the "WiFi", option. If you want to modify the SSID or Security settings of the NAT64 network click WiFi Options.
(vi). Now click the checkbox of "Internet Sharing". It will ask you to start or cancel. Select start. And your WiFi hotspot now will broadcast via IPv6 network.
Hope that was simple enough. Further more if your app still is having issues and you think it is not IPv6 related you should log events when this happens. If your using third party tools like Siberian CMS or any other HTML based tools, make sure you build the app via XCode through a developer machine, that normally fixes such issues.
NOTE:
In Local Environment testing, Apple does not recommend this. Because there could be translation of addresses which still may not give you accurate results. Some of them are as follows.
- You can use the command dig on your terminal to see how your server reports its AAAA record.
- Some servers do not natively use IPv6 , so you can use something like ipv6-test.com
- Your server logs can give you accurate information on how IPv6 addresses are used.
- Avoid using hardcoded IP addresses, as mentioned the IPv4 addresses are normally hardcoded so its better to use domain name itself.
If you still have problems fixing this get in touch with us , we wll get it resolved for you.
Image Credits: Apple Developer Website
No comments:
Post a Comment