美文网首页转载
iOS 适配iPV6的修改(AFNetworking)

iOS 适配iPV6的修改(AFNetworking)

作者: 多一点微笑_ | 来源:发表于2016-05-31 14:48 被阅读5462次

    由于6月1日起苹果将开始强制app适配iPV6,就对现有工程做了一个排查,发现一点更新一次吧,现将发现的AF中的修改先列出来,有其他的再后续补上。

    只需要修改2个文件

    修改的文件

    AFNetworkReachabilityManager.h

    AFNetworkReachabilityManager.m

    修改代码:

    + (instancetype)managerForAddress:(conststructsockaddr_in*)address;【前】

    把对应的in 改成 in6

    + (instancetype)managerForAddress:(conststructsockaddr_in6*)address;【后】

    修改代码:

    + (instancetype)managerForAddress:(conststructsockaddr_in*)address 【前】

    把对应的in 改成 in6

    + (instancetype)managerForAddress:(conststructsockaddr_in6*)address 【后】

    修改代码:

    + (instancetype)sharedManager {

    staticAFNetworkReachabilityManager*_sharedManager =nil;

    staticdispatch_once_tonceToken;

    dispatch_once(&onceToken, ^{

    structsockaddr_inaddress;

    bzero(&address,sizeof(address));

    address.sin_len=sizeof(address);

    address.sin_family=AF_INET;

    _sharedManager = [selfmanagerForAddress:&address];

    });

    return_sharedManager;

    }【前】

    + (instancetype)sharedManager {

    staticAFNetworkReachabilityManager*_sharedManager =nil;

    staticdispatch_once_tonceToken;

    dispatch_once(&onceToken, ^{

    structsockaddr_in6address;

    bzero(&address,sizeof(address));

    address.sin6_len=sizeof(address);

    address.sin6_family=AF_INET6;

    _sharedManager = [selfmanagerForAddress:&address];

    });

    return_sharedManager;

    }【后】

    如果想了解iPV6相关原理和其他修改,可以参考下面文章。

    http://www.jianshu.com/p/54b989098537

    相关文章

      网友评论

        本文标题:iOS 适配iPV6的修改(AFNetworking)

        本文链接:https://www.haomeiwen.com/subject/rvtmqttx.html