Apple关于IPV6规定

 日前,苹果公司向开发者发出提醒,公司将会修改应用商店App Store的相关规定,所有IOS应用必须包含对IPv6-only标准的支持。据悉,该规定在6月1日生效,所有提交至苹果App Store的应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议--IPv6-only标准。而苹果的这一举措也将有助于IPv6的加速普及。

1.只需要在苹果最新的系统上保证IPV6的兼容性即可。
2.NSURLConnection CFNetWork NSURLSession都是支持IPV6的在iOS9设备上。
3.AFNetworking,由于历史原因,应用代码基本上都深度引用了AFHTTPRequestOperation类,所以目前API网络请求均需要通过NSURLConnection发送出去,经过测试NSURLConnection在最新的iOS9系统上是支持IPV6的。
4.Reachability在程序中被大量应用判断网络状态,但是在里面却使用了IPV4专用的API,经过测试,在iOS9以上系统IPV4和IPV6网络环境均可使用,但在iOS8上IPV4和IPV6切换的时候无法监测网络状态的改变,可能是因为苹果在iOS8上还没有对IPV6进行相关的支持相关,但是这仍然满足苹果要求在最新系统版本上支持IPV6的需求,其实苹果在iOS9以上对zero Address进行了处理,Reachability在iOS9上可以支持IPV6和IPV4,但在iOS9一下存在bug,监测网络会有问题。

避免被拒的措施

  • 使用网络通讯框架;

也就是是说推荐你使用 iOS SDK 自带的,构建于 socket 上层的网络通讯框架,或是第三方的网络通讯框架。这样,使用网络通讯框架的话,上面的第 2 条大体上是不用操心的。如果你使用的是第三方的网络通讯框架的话,一定记得询问该框架的开发商:“你们支持 IPv6 吗?”
作为网络通讯框架其中之一的 ProudNet™ 是支持 IPv6 的哟。自 2015 年 12 月的更新版本开始支持。ProudNet 的使用者如果要想支援 IPv6 的话,应该使用 2015 年 12 月版本,或更高的版本。


  • 避免使用 IPv4 专用的 API;

如果你亲自编程 socket 层的话,记得不能使用 IPv4 专用 API。比如说,你不能使用如下这些 API (光是使用这些函数本身,是否会成为苹果方面拒绝通过应用审核的事由,目前还不清楚。反正 ProudNet 目前是全然不使用这些函数的)。
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果要测试在 IPv6 的环境下是否运转正常,你需要构建 IPv6 only 的网络环境。方法有很多种。我们使用的是通过 Mac 机器的方法。

避免使用硬编码地址(IP地址)

苹果使用的是“硬编码地址”这样的术语。不过这大体上只是对大众友好的简化说法。正确的学名其实应该叫 IP literal。比方说形如 “11.22.33.44” 这种啦。
另一方面,我们通常所说的 “hostname”,比方说“server1.mygame.com”这种,学名叫 FQDN (fully qualified domain name)。
你问,通过“硬编码地址”,也就是我们所说的 IP literal 连入服务器的话会有什么样的后果呢?一些 IPv6 网络下的客户端会连不上 IPv4 网络下的服务器(虽说 iOS 9.2 以后这个问题会部分解决,但是没法保证在所有 IPv6 网络下都没问题)。
反之亦然—客户端在 IPv4 下,服务器 IPv6。
至于连不上的原因吗,要从 NAT64 / DNS64 的联动关系说起。因为内容有点长,这里就不赘述了。
那么应该肿么办呢?乖乖地听从苹果大人所“指示”(?)的。通过 FQDN 而不是 IPv4 literal 的连入的情况下,服务器要能够接收。客户端连接服务器时则要使用 FQDN。

举例说明上面的内容:

 - 11.22.33.44 ==> 苹果会屏蔽你- server.mygame.com ==> Ok- 11:22:33:44:55:66:77:88 ==> 苹果会屏蔽你

关于IPV6

随着互联网的迅速发展,各种联网设备总数的不断增加,传统的IPv4地址耗尽已经是可以预见的未来,因此,用于替代现行版本IP协议(IPv4)的下一代IP协议,IPv6技术已成为未来的主流IP技术。
据苹果在开发者网站发布的消息称,现有的很多应用已经兼容IPv6-only协议了,因为该协议已经得到NSURLSession和CFNetwork API的支持。使用IPv4 API或硬件编码IP地址的开发者需要修改应用代码才能兼容这项新政策。
除了苹果之外,整个行业也在慢慢接受IPv6-only协议,尤其是提供手机网络服务的运营商。随着各种连网设备总数的增加,以及新手机推出的速度越来越快,IPv4地址将迅速耗尽。作为后续技术,IPv6将在不远的将来完全取代IPv4。

转载于:https://www.cnblogs.com/csj222/p/5972178.html

AppStore IPv6-only审核被拒原因分析及解决方案-a相关推荐

  1. AppStore IPv6-only审核被拒原因分析及解决方案-b

    AppStore IPv6-only审核被拒原因分析及解决方案-b 参考文章: (1)AppStore IPv6-only审核被拒原因分析及解决方案-b (2)https://www.cnblogs. ...

  2. 金融 App 审核被拒原因及解决方案汇总

    既然决定了从事金融行业 就要对这个金融 App 开发做到绝对的把控 现整理金融 APP 各种被拒原因以及解决办法 希望可以帮助到大家 苹果审核依据的审核标准有2个,一个是<App Store 审 ...

  3. 记录几次苹果审核被拒原因

    记录几次苹果审核被拒原因 最近被苹果审核搞得焦头烂额,每天早上醒来第一件事就是查看手机,看看收没收到苹果发来的邮件. 由于公司业务原因,之前一直都是用的投机取巧的方法,部分产品没有走苹果内购,苹果那边 ...

  4. App Store审核被拒问题,及其解决方案(2.1、2.5.13、3.2.1、4.1、4.2.3、5.1.1、5.1.2、5.2.1)

    App Store审核被拒问题,及其解决方案 1.Guideline 2.1 - Information Needed 2.Guideline 2.5.13 - Performance - Softw ...

  5. linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案

    先给大家说下问题描述? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信 ...

  6. 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案

    本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案 参考文章: (1)本机未装Oracle数据库时N ...

  7. Connection reset原因分析和解决方案

    Connection reset原因分析和解决方案 参考文章: (1)Connection reset原因分析和解决方案 (2)https://www.cnblogs.com/exmyth/p/820 ...

  8. 为什么换了硬盘计算机无法启动,完美的解决方案:更换固态硬盘后无法打开计算机的原因分析和解决方案...

    更换SSD固态驱动器后,无法打开计算机的原因分析和解决方案.一些网民首先对自己的计算机反应较慢,然后用SSD固态驱动器代替了硬盘驱动器.他们使用Win8.1系统并正常重启计算机,但是在系统更新之后,打 ...

  9. USB接口供电不足的原因分析与解决方案

    USB接口供电不足的原因分析与解决方案 USB接口供电不足是什么原因.我们在使用电脑的时候,经常会用到电脑的USB接口,因为有很多USB接口的设备会连接电脑.但是当我们的电脑提示USB接口供电不足,那 ...

最新文章

  1. 各品牌交换机常用命令整理
  2. 里加一列为1_9月1号新宠物食品法规实施啦,辣鸡宠物食品遭殃,你也可能违法...
  3. 深入Atlas系列:Web Sevices Access in Atlas示例(4) - 使用HTTP GET调用Web Services方法...
  4. 树莓派要mysql的密码_树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码...
  5. CompactExifLib:访问JPEG文件中的EXIF标签
  6. 四面轻松突围!我是如何斩获高级运维开发一职的?
  7. mybatis mysql触发器_MyBatis创建Oracle触发器
  8. SSM-SpringMVC-15:SpringMVC中小论注解式开发之通配符篇
  9. 京东推荐系统实践——打造千人千面的个性化推荐引擎
  10. mysql数据库中eof_数据库eof
  11. ads pspice 导入_怎么由导入ADS中的pspice的参数模型得到器件模型?
  12. 笔记本win10宽带共享wifi热点教程
  13. VUE学习笔记------奕长苏
  14. 妈妈也曾是少女!Binking玫瑰海藻银耳羹,还妈妈一个粉红的梦!
  15. CAP原则(CAP定理)
  16. 齿轮系统动力学模型matlab程序代码
  17. 向世界问好,.NET 5 从 Fur 框架开始,v1.0.0.rc2 发布
  18. CorelDRAW X6+PhotoZoom这组合,无敌了啊!
  19. 计算机的认识文档,计算机的初步认识.docx
  20. Python——制作小型游戏贪吃蛇

热门文章

  1. 保持函数依赖的模式分解可以减轻或解决什么_推荐系统玩家 之 因子分解机FM(Factorization Machines)...
  2. 深入浅出springboot 下载_有没有相见恨晚的学习模电好方法?《新概念模拟电路》全五册合集免费下载...
  3. 【CV夏季划】告别入门,提升眼界,从掌握最有价值的那些CV方向开始
  4. 【杂谈】为什么你在有三AI看不到最新论文的解读,其实一直都有的
  5. 【图像分割应用】医学图像分割小总结
  6. KeyUsage Extension The KeyUsage extension defines the following variables, which correlate directly
  7. 妙用0元素数组 实现大小可变结构体
  8. 计算机安全设,默认的安全性还不够!这几个保护计算机的步骤要设置好
  9. 注重经营管理谋定市场开发-农业大健康·台湾:有机农业借鉴
  10. python学习(1)