针对苹果最新审核要求为应用兼容IPv6
在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务。2016年初开始所有提交到App Store的应用必须支持IPv6。为确保现有的应用是兼容的,我们需要注意下面几点。
不建议使用底层的网络API
下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。
大部分情况下,我们用高级的API完全能够实现我们的需求,而且高级API封装的很便于使用,很多底层的像适配IPv6的工作都已经帮我们做好了。而用底层API会有大量的工作要我们自己来做,更容易产生bug。但你如果确实需要用底层的POSIX socket API, 请参照这个RFC4038: Application Aspects of IPv6 Transition的指导。
不要用IP地址
比如下面这个API,nodename这个参数不要传IP地址,而应该用域名
这个方法在著名的Reachability中是用到的,我们常用的网络库AFNetworking就用了这个。所以用到的同学得好好查一下了,另外这个项目的作者几天前刚刚就这个问题有一个新的提交,不过最新的release版本中还没有加进去,可以点下面链接先去看看他都改了哪些地方。
Added support for IPv6 to Reachability #3174
检查不兼容IPv6的代码
搜一下工程里有没有下面的这些API,这些都是只针对IPv4做处理的,有的话就删了。
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果用到了下面左边的这些IPv4的类型,那么它们相应的IPv6类型也需要做处理
本地搭建IPv6测试环境
最后我们来搭一个IPv6的测试环境吧,你所需要的就是一台用非Wi-Fi的方式上网的Mac电脑。
我们的要做的其实就是用Mac做一个热点,然后用iPhone连接这个Wi-Fi,听起来很容易,我相信大家在公司就是这么干的吧。
区别是这次我们产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的。和我们以前开启热点方式不一样的地方在于,我们在“System Preferences”界面选中“Sharing”的同时,要按住“Option”键。
之后在“Sharing”界面中,我们会看到和之前不一样的地方,就是红框所标的地方,多了一个叫“Create NAT64 Network”的选框,选中它。
之后就是按照正常的创建热点的流程走完就行了。
现在我们用iPhone连接上这个刚创建好的热点就可以测试了,注意此时要把iPhone设成飞行模式,以保证只用Wi-Fi上网。
针对苹果最新审核要求为应用兼容IPv6相关推荐
- 针对苹果最新审核要求 为应用兼容IPv6
在WWDC2 015上苹果宣布iOS 9将支持纯IPv6的网络服务.2016年初开始所有提交到App Store的应用必须支持IPv6.而今年5月初,苹果宣布6月1日后所有应用必须支持IPv6-onl ...
- ios服务器需要开启ipv6的支持,针对iOS审核要求为应用兼容IPv6
开发中使用IPv6的好处 1.IPv6:避免了网络地址转换(NAT) 2.通过网络通过使用简化的头提供了更快的路由 3.防止网络分段 4.避免广播邻居地址解析 不建议使用底层的网络API 下图展示的蓝 ...
- “熊孩子”乱敲键盘攻破 Linux 桌面;苹果开源代码被发现包含兼容微信的代码;网传蚂蚁启用OKR替代KPI | EA周报...
EA周报 2021年1月22日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.Flutter 在鸿蒙系统上成功运行 2."熊孩子"乱 ...
- 1909升级卡64_苹果最新系统 macOS Catalina 10.15正式版更新,有哪些升级注意事项
苹果最新系统 macOS Catalina 10.15 正式版上线啦,此次更新带来了许多重大改变,包括 iTunes 正式被拆分为播客.电视.音乐 3 款独立应用.新系统新增「屏幕时间」.「查找」.「 ...
- voxelnet_苹果最新机器学习论文:使用VoxelNet进行3D物体检测
原标题:苹果最新机器学习论文:使用VoxelNet进行3D物体检测 原文来源:arXiv 作者:Yin Zhou.OncelTuzel 「雷克世界」编译:嗯~阿童木呀 多啦A亮 现如今,3D点云(3D ...
- cdr mac majave os_苹果最新 macOS Mojave 10.14 正式版 懒人镜像
本帖最后由 kissfox 于 2018-10-15 10:24 编辑 苹果最新 macOS Mojave 10.14 正式版 懒人镜像 近期很多人在找我帮忙找MAC OS Mojave 10.14苹 ...
- 怎样防止苹果系统更新_苹果最新系统更新后,为何会导致游戏打不开呢?
展开全部 因为在手2113机系统更新之后,所属于的苹果系统已经5261不兼容游戏的原本的4102版本了.用过苹果手机1653的其实我们都知道,对于苹果手机来说,它的系统更新以及一些在Appstore下 ...
- m1芯片 php,苹果M1 版 MacBook软件兼容实测:VS Code不能用 PHPStorm可运行
苹果宣布今后的 Mac 将使用自研 ARM 架构的芯片.据苹果报道,从英特尔平台过渡到自家平台将花费大约两年的时间,在此期间,开发者人员将把应用程序移植到自家新平台上. Mac 程序的移植可以采用 R ...
- 苹果最新 Mac OS X El Capitan 正式版系统 dmg 镜像下载 / 升级安装程序
自从 WWDC 2015 大会发布之后,经过一段时间的内部测试,苹果最新的 iOS 9 以及 Mac 操作系统 OS X El Capitan (酋长石) 终于提供下载并正式与大众见面了. 这次 OS ...
最新文章
- 十年中文技术社区风雨之路 今晚4位老炮畅聊过去未来
- 华为OJ 名字美丽度
- Bootstrap 按钮组
- 2020大学计算机知到答案,2020年_知到_大学计算机(济南大学)_网课答案
- js java自动部署_vue 自动化部署 jenkins 篇
- input file HTML控件控制
- 准备入行Web前端,又担心适不适合,怎么办?
- 纳斯达克收购金融数据提供商Quandl
- springmvc(2)Controller源码简单解析
- Java集合类源码解析:Vector
- 西门子g120变频器接线图_西门子G120变频器通过IOP-2面板初始设置
- srt文件从英文翻译到中文
- 基于Android studio+SSH的单词记忆(背单词)APP设计
- i春秋 - Exploit-Exercises: Nebula - level06
- MsXml创建和解析XML示例
- 画图软件修改图片分辨率
- 为企业数字人才建粮仓:专访极客邦科技双数研究院院长付晓岩
- 递归函数c语言求爬格子,指标的含义,真或假.doc
- 运维生涯中总有一次痛彻心扉的rm命令
- 华大HC32A460 系列介绍(四)
热门文章
- DB2: SQL0902C A system error occurred. Subsequent SQL statements cannot be processed. IBM software
- 《神经网络与深度学习》-注意力机制与外部记忆
- 洛谷 P1265 公路修建 题解
- CSS3转换属性—transform之translate、rotate、scale函数详解
- 大悲寺——依教奉行溯正源,良苦用心谁人知?纵然世间一比丘,不退初心证菩提。[转]
- 冯巩的155句经典语,太有才了,这才是真正的幽默!
- 信任,问责制以及时间在哪里?
- 转型架构师之路——郑天民
- 《与熊共舞》第一章--逆“风”而行
- UE4 sequence 播放速率的调整(4.27)