苹果前段时间宣布从2016年6月1日起,App Store将实施全新策略,届时所有提交至苹果App Store的iOS应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议–IPv6-only标准。因为可能会影响之后的上架,这两天花了些时间好好看了下相关的东西。大概整理如下:
如何兼容IPV6
1. 使用更高层次的网络API(Use High-Level Networking Frameworks) 避免使用socket API
蓝色部分API 默认都支持IPv6
如果你的项目中使用的是类似WebKit这样的API或AFNetWorking、Alamofire等第三方库,那么恭喜你,相关的改动应该不会很多?为什么不是没有改动,请继续看。
2. 不要使用IP地址
在有网络请求的地方,确保使用了域名,而不是192.168.0.1 这样的IP地址。
3.检查代码注意对IPv4和IPv6的支持情况
这些是IPV4特有的代码,如果有这些代码则需要修改
-
inet_addr()
-
inet_aton()
-
inet_lnaof()
-
inet_makeaddr()
-
inet_netof()
-
inet_network()
-
inet_ntoa()
-
inet_ntoa_r()
-
bindresvport()
-
getipv4sourcefilter()
-
setipv4sourcefilter()
下面是IPv4和IPv6一些定义类型的对照,也要在代码中查找下。
|
|
|
|
|
|
|
|
|
|
本身我们的项目中使用了AFNetWorking,网络接口的封装也是在此基础上,但是在第3项检查时,发现代码中只有 sockaddr_in 而没有 sockaddr_in6 ,为什么呢?因为我们的项目早先使用的是AFNetWorking的2.5.X版本,而官网上最新的版本是3.1.0。果断更新之,预料之中,最新的版本是支持IPV6的。所以提醒看到这里的同学,一定要检查2、3项,看是否确定支持IPV6,防止老版本的第三方库未支持IPV6。
参考资料:
Supporting IPv6-only Networks
https://developer.apple.com/news/?id=05042016a
Supporting IPv6 DNS64/NAT64 Networks
IPv6-only 的兼容性解决方案
http://www.jianshu.com/p/8837739251ad?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
Application Aspects of IPv6 Transition
相关推荐
iOS开发------Widget(Today Extension)插件化开发1
资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...
iOS开发------程序实现国际化Localizable - iPhone手机开发技术文章 - 红黑联盟1
iOS开发进阶篇-成为iOS开发高手-源码
iOS开发进阶篇-成为一个iOS开发高手(PDF)
UI第一章:无限互联iOS开发教程课件-- iPhone开发入门
IOS开发-Swift-基础知识学习笔记
ARKit,iOS11之后引入全新的框架,允许开发者轻松地为 iPhone 和 iPad 创建 与伦比 的增强现实体验。通过将虚拟对象和虚拟信息同 户周围的环境相互融合,ARKit 使得应用跳出屏幕的限制,让它们能够以全新的方式与...
iOS开发之Objective-C语法快速参考(PDF文档).
之前遇到的需求,ios上没有类似的实现。搞了好久在网上搜了很多资料都不能解决最后找到了一个c/c++的底层源码,才实现了最后整理了下上传了。是个ios的demo很详细你定能看懂的。运行在xcode环境下,关键算法的文件是...
iOS应用开发攻略--文字版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
苹果开发- iOS-邓白氏-编码申请
iOS开发基础教程-源代码.rar
iOS 开发框架 EasyIOS-Swift ,EasyIOS 开源至今已经1周年,全新Swift版本今日发布,支持利用HTML来开发IOS应用,支...
《iOS 仿抖音 Object-C》是一个基于Objective-C语言编写的抖音仿制项目,旨在通过手写简化版Spring框架的方式,帮助读者深入了解iOS开发中关键原理。通过摘取整体框架中的核心逻辑,并简化代码实现过程,保留核心...
iOS开发 - 第04篇 - 网络 - 01 - NSOperation & 网络基础,对应博客地址:http://blog.csdn.net/nsryan
iOS语音开发libopencore-amrwb和libopencore-amrnb最新适用库,该版本支持x86_64、i386、armv7、armv7s、arm64cpu架构 使用方法:拖入项目 方便自己下载,想用各位老铁也下吧
ios app的ipv6的dns地址的获取,
思科 cisco ios 镜像 C3640-JK.BIN 文件由多位CCIE水平人员测试使用后拷贝,dy下可用