AFNetworking 2.x 修改适配IPV6

来源:互联网 发布:大学java专业入门课程 编辑:程序博客网 时间:2024/05/21 06:15

由于6月1日起苹果将开始强制app适配iPV6,所以用老版本的AFNetworking 上线审核会被拒  

如果不想更换最新的AF库可以在这里面进行修改

查看项目中 AFNetworkReachabilityManager Class 是否包含AF_INET、struct sockaddr_in 。

+ (instancetype)sharedManager {    static AFNetworkReachabilityManager *_sharedManager = nil;    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        struct sockaddr_in address;        bzero(&address, sizeof(address));        address.sin_len = sizeof(address);        address.sin_family = AF_INET;        _sharedManager = [self managerForAddress:&address];    });    return _sharedManager;}

修改为如下

+ (instancetype)sharedManager {    static AFNetworkReachabilityManager *_sharedManager = nil;    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        _sharedManager = [self manager];    });    return _sharedManager;}+ (instancetype)manager{#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];}


0 0
原创粉丝点击