Title: IPv6-Only support for iOS Apps published on the iOS "App Store" Post by: D.Tkalcec (RTC) on February 16, 2017, 12:12:55 PM If you are working on an iOS Client and want to avoid getting into a situation where your App is rejected by the Apple Review Team because it didn't work out-of-the-box from inside their test environment, make sure to set the "ServerIPV" property on all your TRtcHttpClient components to "rtc_IPvOS6" (default value = rtc_IPv4 // for backwards compatibility). This will make your Application IP-version-agnostic, which is one of the requirements set by Apple for new Apps being released on the iOS App Store.
When you do this, the TRtcHttpClient component will first try to use the default IP version configured by the OS to get the IP Address of the Server you are trying to connect to. This means that the Client will first try to use IPv6 inside Networks with IPv6 support enabled (IPv6-Only Networks and Networks with IPv6 and IPv4 support). And if the Client is running inside a Network which ONLY has IPv4 support, but does NOT have IPv6 support, the TRtcHttpClient component will try to use IPv4 first, since that will be the default IP version supported by the OS. NOTE: Even though using the default property value for ServerIPV (=rtc_IPv4) will most likely also work inside a real IPv6-Only network by using fall-back scenarios built into RTC Client components (first trying the default IP version and then IPv6), your App still wouldn't pass a test done by the Apple Review Team if Apple decided to enable IPv4 and IPv6 addresses inside their test networks, but block all IPv4 traffic, or ... if the Apple Review Team was rejecting Apps that preffer IPv4 over IPv6 by explicitly asking for an IPv4 Address instead of using the default IP version configured by the OS. Best Regards, Danijel Tkalcec |