Required Ipv6 Compatibility - iOS App Rejected by Apple

required iPv6 compatibility - iOS app rejected by apple

Actually i am calling API using AFNetworking Library.

I have just replace the AFNetworkReachabilityManager classes from Github with my existing classes. And apple doesn't have problem any more.

And my app works now.

Apple App Store IPV6 Requirement

You don't need to worry about IPv6 support, if you've not set hard-core IPv4 IP address in your web server/service url connection.

This Apple document will help you: Supporting IPv6-only Networks

All apps submitted to the App Store must support IPv6-only networking. A majority of apps will not require any changes as IPv6 is already supported by NSURLSession and CFNetwork APIs. However, if your app utilizes IPv4-specific APIs or hard-coded IP addresses, you will need to make changes. Be sure to test for IPv6 compatibility before submitting your app to the App Store for review.

However, Apple guides in Testing your app in an IPv6-only environment:

You should test your app on an IPv6-only network. If you don’t have one, you can set up a test network by following the instructions in Test for IPv6 DNS64/NAT64 Compatibility Regularly.

Following SO reference, faced similar problem, may guide you:

  • IPv6 App Store Rejection

App was rejected by App Store because of IPV6 issues

I faced this problem in iOS. Than I change my reachblility class internet connection method and my app approved. If You want to make Ipv6 network in your system than please check

https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html

Objective c

+ (instancetype)reachabilityForInternetConnection
{
struct sockaddr_in6 zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin6_len = sizeof(zeroAddress);
zeroAddress.sin6_family = AF_INET6;
return [self reachabilityWithAddress: (const struct sockaddr *) &zeroAddress];
}

Swift 3

 func ipv6Reachability() -> SCNetworkReachability? 
{
var zeroAddress = sockaddr_in6()
zeroAddress.sin6_len = UInt8(MemoryLayout.size)
zeroAddress.sin6_family = sa_family_t(AF_INET6)

return withUnsafePointer(to: &zeroAddress, {
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
SCNetworkReachabilityCreateWithAddress(nil, $0)
}
})
}


Related Topics



Leave a reply



Submit