Error trying to host app on itunes

Asked

Viewed 221 times

8

We made an iPhone app with Embarcadero xe10 + PHP, but when trying to host it on:

He was turned down for not supporting IPV6.

I joined the site http://validador.ipv6.br/index.php?site=www.useunic.com.br&lang=pt and found that it does not support access by IPV6.

Apple requires my app to run on an Ipv6 network, as shown above.

On this host we host only the php files that are used in the app, there is some configuration that we can do to fix this, because I contacted the hosting and they have no ipv6 support.

Follow itunes return on app:

De Apple
2. 1 PERFORMANCE: APP COMPLETENESS
Performance - 2.1


We discovered one or more bugs in your app when reviewed on iPad running iOS 10.2.1 on Wi-Fi connected to an IPv6 network.

Specifically, your app produced an error when we attempted to log in with the demo account you provided.

Please see attached screenshots for details.

Next Steps

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.

Resources

For information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and About Networking.
  • 3

    There is a gambit, you can use Cloudflare, it will serve as a proxy, it supports Ipv4 and Ipv6, even if you only support Ipv4. But I advise you to asymmetrically encrypt the data, at least login/registration. That way not even Cloudflare will know the data that was sent, just include a public key in the application, security is never too much. ;)

  • 1

    Good afternoon! Dude, in the company where you worked we went through the same problem as you and to solve the problem we changed the hosting plan to one that supports Ipv6

  • Remove this AAAA record in your domain settings from the domain provider’s website, and run some tests, I’ve seen people comment on it, but I’ve never actually tested it.

  • The answer is simple, you need a host with IPV6 support, and more, your web server needs to respond in IPV6 as well (address Binding). Cloudflare can be a good solution, but you’ll have time out problems if you have very long requests. It also does not support sockets other than port 80 and 443 and only traffic TCP.

2 answers

2


Since June 2016, Apple has required apple store apps to support Ipv6-only, which is basically networks that don’t use Ipv4 tunneling or proxy.

However, if your app utilizes Ipv4-specific Apis or hard-coded IP Addresses, you will need to make changes. https://developer.apple.com/support/ipv6/

That is, if your application has a specific IP address, such as a socket opening, or an access that directly uses an IP will fall into this rule.

In the documentation it still says:

It is not necessary to remove all references to Ipv4-only constructors. It is acceptable to have such references and use constructions only for Ipv4, provided they behave correctly in an Ipv6-only environment. IMPORTANT: We encourage you to adopt Apis address-friendly agnostics instead of maintaining code paths separated for Ipv4 and Ipv6. (personal translation)

Agnostic Apis are domains that respond in both Ipv6 and Ipv4, rather than static Ipv4.

To perform the compatibility tests you must follow the instructions on this page of Apple’s supporting documentation https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW16

If your application needs to support Ipv4 (an ssh connection application for example) you need to apply some modifications to DNS64/NAT64 support to synthesize Ipv4 in Ipv6, the technique is described in this documentation page: https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

For more information visit:

https://developer.apple.com/support/ipv6/

In addition, your server must be accessible via Ipv6, so you can use Cdns like the Cloudflare Inc. that allow traffic via Ipv6 without you having 'AAAA' entries. However, be aware that there are limitations such as connection timeout, calls that take too long to respond may fall into error 524. Another detail about CF is that it does not support socket, we would then have problems with stream and websocket for example.

If Cloudflare is not an option, you should opt for a server that has both Ipv4 and Ipv6 and properly configure your DNS with "A" entries for Ipv4 and "AAAA" entries for Ipv6, and configure your server to receive Ipv6 (network layer) connections and your web server (Application Layer) to account for this Ipv6.

As you are using Embarcadero xe10, it is necessary to understand how it deals with this issue, because the code will be rewritten and in this rewriting process must be suitable to the specifications provided by apple.

0

He was refused for not supporting IPV6.

I joined the site http://validador.ipv6.br/index.php?site=www.useunic.com.br&lang=pt and I checked that it does not support access by IPV6.

Apple requires my application to work on an Ipv6 network, as above site.

On this host we host only the php files that are used in the app, there is some configuration that we can do to fix this, because I contacted the hosting and they do not have ipv6 support.

The answer is in the question itself.

Have a comment here saying that removing a AAAA record on your DNS server could solve the problem. I do not believe that this will solve, because the AAAA record is what ensures the correct resolution of an ipv6 address. Still, I don’t think your current provider will support you.

There’s only one way: find a host that can host your application. Companies that do this exist in droves, and hosting is relatively cheap. You will have an effort of a few hours of migration, but this way you guarantee your business.

If you want a list of suggestions, this wiki lists a few dozen companies around the world that have hosting service with ipv6 (native, no gambiarras).

  • This constraint goes beyond the Ipv6 server, there are code restrictions, the application should have no specific Ipv4 reference in its constructors.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.