ipv6

2/13/2017来源:iOS开发人气:571

app需要修改3个地方

1.manager.responseSerializer.acceptableContentTypes =nil;

2.修改AFNetworkReachabilityManager.m文件,用下面函数替换原来的函数

[objc] view plain copy + (instancetype)manager {       double version = [[UIDevice currentDevice].systemVersion doubleValue];       if (version >= 9.0f) {           struct sockaddr_in6 address; bzero(&address, sizeof(address));           address.sin6_len = sizeof(address);           address.sin6_family = AF_INET6;           return [self managerForAddress:&address];       } else {   #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           return [self managerForAddress:&address];       }   }  

3.网络请求代码这样写

[objc] view plain copy AFHTTPsessionManager *manager = [AFHTTPSessionManager manager];   manager.responseSerializer.acceptableContentTypes = nil;//[NSSet setWithObject:@"text/ plain"];   manager.securityPolicy = [AFSecurityPolicy defaultPolicy];   manager.securityPolicy.allowInvalidCertificates = YES;//忽略https证书   manager.securityPolicy.validatesDomainName = NO;//是否验证域名