iOS 适配ipv6

作者: ShawnDu | 来源:发表于2016-08-08 18:15 被阅读1253次

博客地址已迁移到:https://devthinking.com

在App中适配

  1. 在传nodename的时候不要用ip地址,用域名;
  2. 检查工程中有没有用到以下api,这些只是针对ipv4处理的,有的话就删了:
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
  1. 如果用到了以下ipv4的api,相应的ipv6也需要做处理:
AF_INET
PF_INET
struct in_addr
struct sockaddr_in
kDNSServiceProtocol_IPv4
  1. 在App中,如果用了AFN3.0以上,都支持了ipv6,但是有一点在AFNetworkReachabilityManager中,在manager的初始化方法中,判断的手机是否是大于9.0的系统,有些不对,原来代码是这样:
+ (instancetype)manager
{
#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)

上面的代码应该改成这样,才会生效:

 #if (TARGET_OS_IPHONE && NSFoundationVersionNumber > 1240) || (TARGET_OS_MAC && NSFoundationVersionNumber >= 1252)

服务器适配

如果你说在App端都适配了ipv6,并且自己用mac本搭建了ipv6热点测试通过,为什么应用审核还是被拒呢?看下面的解答。

  1. 用mac创建的热点和苹果review时用的真实的ipv6网络是不一样的;
  2. 需要检查服务器域名4A的支持。详细的问题,请看apple论坛IPv6 and App Review
    , 检查4A的支持可以用google的toolbox dig.
  3. 有关AAAA的文档,可以看wikipedia.

微信公众号

开发者思维 devthinking

QQ交流群:295976280

iOS交流群(一)群二维码.png

相关文章

  • 【转藏】iOS iPV6适配

    以下是我看到的几篇关于ipV6适配问题的几篇比较好的博文,收藏!适配iOS应用兼容IPv6 DNS64/NAT64...

  • IPV6总结

    适配IPV6 在WWDC2015上苹果公司宣布iOS9将支持纯IPV6的网络服务。自从5月初Apple明文规定所有...

  • IOS集成第三方支付、分享、登录功能小结

    原标题 : IOS集成微信支付或者支付宝支付功能小结 2016.7.1。由于苹果强制要求适配ipv6,本文demo...

  • 苹果审核 - IPv6被拒日记

    从去年6月份开始,不断听说有其他公司的iOS版本因IPv6的问题被拒,但是由于我们很早就从网络层适配了IPv6,所...

  • iOS 适配iPV6

    1. IPV6简单介绍 网络是IPV6还是IPV4是由运营商和企业逐渐部署的。 客户端向服务器端请求域名解析,首先...

  • iOS 适配IPv6

    最近一直看到有人说app因为没有适配IPv6而被拒的,可是我的app却什么都没做也没有被拒,闲来无事看了看原因。 ...

  • iOS 适配ipv6

    博客地址已迁移到:https://devthinking.com 在App中适配 在传nodename的时候不要用...

  • iOS IPV6适配

    ip地址替换成域名后,注意修改以上关键字

  • IOS集成第三方支付、分享、登录功能小结

    IOS集成第三方支付、分享、登录功能小结 作者 蜡笔小新 2016.7.1。由于苹果强制要求适配ipv6,本文de...

  • Objective-C Category的妙用

    (一)覆盖主类的方法实现 XMPP的IPV6适配 苹果要适配IPV6(only)了,查了一下网上的方法...

网友评论

  • 最晴天: #if (TARGET_OS_IPHONE && NSFoundationVersionNumber > 1240) || (TARGET_OS_MAC && NSFoundationVersionNumber >= 1252)想请教一下, 同样是判断系统版本的代码,和AFN原本的判断有什么区别呢 。我不太理解。。。

本文标题:iOS 适配ipv6

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