项目笔记--- iOS开发IPV6 被拒解决办法预防
2017-02-21 13:05
190 查看
为预防 iOS开发IPV6 被拒解决办法预防
我总结下 我知道的方法
1.现在AFN3.0 以后 可以用 不过需要更改点 方法 地址:http://blog.csdn.net/it_kaka/article/details/51953734
2.使用微博 百度地图 微信 等SDK 的 需要 更新到最新
3.如果你使用了socket api 需要 做点更改 http://www.cnblogs.com/Camier-myNiuer/p/5527849.html
4.忘说了 需要用域名
5.如果你搭建了环境,自己测试通过了,但是还是被拒了,建议查看一下公司服务器是否支持了ipv6 ,有一种说法是 客户端及时通过了ipv6检测,不一定就是支持了ipv6,还需要公司服务器做出DNS响应,这部分东西
是公司运维的事
6.一切都OK 还是被拒,那么有可能是美国那边的测试问题,人工也会出错,重新提交即可
[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];
}
}
[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;//是否验证域名
我总结下 我知道的方法
1.现在AFN3.0 以后 可以用 不过需要更改点 方法 地址:http://blog.csdn.net/it_kaka/article/details/51953734
2.使用微博 百度地图 微信 等SDK 的 需要 更新到最新
3.如果你使用了socket api 需要 做点更改 http://www.cnblogs.com/Camier-myNiuer/p/5527849.html
4.忘说了 需要用域名
5.如果你搭建了环境,自己测试通过了,但是还是被拒了,建议查看一下公司服务器是否支持了ipv6 ,有一种说法是 客户端及时通过了ipv6检测,不一定就是支持了ipv6,还需要公司服务器做出DNS响应,这部分东西
是公司运维的事
6.一切都OK 还是被拒,那么有可能是美国那边的测试问题,人工也会出错,重新提交即可
app需要修改3个地方
1.manager.responseSerializer.acceptableContentTypes =nil;
2.修改AFNetworkReachabilityManager.m文件,用下面函数替换原来的函数
[objc] viewplain 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] viewplain 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;//是否验证域名
相关文章推荐
- IOS开发笔记:编译时出现的错误和解决办法
- iOS开发笔记:编译时出现的错误和解决办法
- iOS开发IPV6 被拒解决办法
- iOS开发笔记:编译时出现的错误和解决办法
- iOS开发过程中的一些错误提示和解决办法大全
- 关于C#开发WEB项目TextBox控件的自适应高问题解决办法!
- Android开发eclipse导入项目 @override错误解决办法
- iPhone开发笔记(21)iOS 6旋转问题解决方法汇总
- iPhone开发笔记(21)iOS 6旋转问题解决方法汇总
- 【Cocos2d-X开发学习笔记】解决Cocos2d-X新建项目运行报错的问题
- 开发Struts 2项目遇到的一个问题,就是在struts-tags标签库下没有了s:datetimepicker标签的解决办法
- 开发Struts 2项目遇到的一个问题,就是在struts-tags标签库下没有了s:datetimepicker标签的解决办法
- [PyQt4]项目开发中遇到的错误与解决办法
- iOS开发中Base SDK Missing的两个解决办法
- IOS开发笔记-发布iphone/ipad应用程序被拒绝,如何解决
- IOS开发FTP中文目录和文件名乱码解决办法
- [PyQt4]项目开发中遇到的错误与解决办法
- Android项目实战_新浪微博客户端开发过程中遇到的问题及解决办法01
- xcode ios项目出现编译问题的解决办法
- YII框架开发项目中遇到的问题及解决办法