Sent out our app through app review process and got rejected due to the ipv6 completeness issue. Our app is using AFNetworking 3.1.0 so no problem there. Our API isn't IPV6 compatible. The review is coming back with a crash that we can't reproduce as well.
I guess my first question is: 1.) We need something quick + dirty for the weekend. Can we just create a build without having to actually support ipv6 in the backend through AFNetworking?
2.) Is there any other things we need to do with AFNetworking other than having the most updated one? Are there any code changes to make sure we support ipv6?
Try to find the code in AFNetworking:
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
Update the code to:
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
struct sockaddr_in6 address;
bzero(&address, sizeof(address));
address.sin6_len = sizeof(address);
address.sin6_family = AF_INET6;
#else
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
#endif
Update all libs if it using:
address.sin_family = AF_INET;