通过应用审核流程发送了我们的应用,但由于 ipv6 完整性问题而被拒绝。我们的应用程序使用的是 AFNetworking 3.1.0,所以没有问题。我们的 API 不兼容 IPV6。审查回来了,我们也无法重现崩溃。
我想我的第一个问题是: 1.)周末我们需要一些快速+肮脏的东西。我们是否可以只创建一个构建,而不必通过 AFNetworking 在后端实际支持 ipv6?
2.) 除了拥有最新的更新之外,我们还需要对 AFNetworking 做些什么吗?是否有任何代码更改以确保我们支持 ipv6?
尝试在AFNetworking中查找代码:
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
将代码更新为:
#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
如果它使用更新所有库:
address.sin_family = AF_INET;
关于ios - AFNetworking 和 IPV6 拒绝 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144643/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |