适配IPv6三:项目实战

苹果公司规定6.1号之后,所有上线的应用需要支持IPv6,于是公司就让我来适配以前的一个老项目,这个项目最新版本是一年之前的,具体官方文档可查看《适配IPv6:官方文档(一)》建议两篇文章一起看效果好点。

这里主要从以下几个方面来写

一、分析项目中那些东西需要适配

1.网络请求

由于项目比较老,项目中使用的是ASIHttprequest,虽然ASI现在没有人维护了,但还是能在项目中使用,和AFNetWorking 相比,它是基于CFNetwork,可以直接适配IPv6,新项目建议直接使用AFN比较好,AFN2.0以上也是支持IPv6的。

2.网络监测这个库 reachability

reachability在苹果官方可以看到最新的版本已经是5.0了,完全支持IPv6,项目中的还是2.2版本,需要进行适配处理。(IPv6测试的时候发现需要适配)

由于项目中用到了一个第三方库,这个库主要是用来查询股票的,并且是在他们基础库的基础上为我们公司单独定制的,最不好处理的是reachability这个类被封装进去了。而提供这个库的公司的代码也是在不断更新的。(后来和他们技术聊知道一个月8个小版本)

当时想的思路是直接替换reachability这个类为最新版本,然后重新打包文件。想想总是简单的,这样主要出现了两个问题,一是reachability从2.2到5更新之后,方法什么的有变动,库里面引用的地方要重新调用整个include文件(600个头文件)。二是他们的老版本找不到了,只有最新的版本,需要在他们最新版本基础上重新加入以前定制的文件。我也是第一次见include 头文件除了.h还有很多.m文件,也许真是为了方便吧,让人很难理解。

其实一个很简单的问题,解决起来一个坑接一个坑,主要是最新sdk和项目中sdk相差太大,又是定制的。花费时间比较多,用了两天时间。

3.第三方SDK

项目中使用的第三方有,极光,友盟和Share,极光和友盟直接去官网下载,重新集成即可。

Share在集成的时候由于版本分为2.x和3.x,项目中使用的是2.x,3.x最新是支持IPv6,如果刚开始直接换成3.x,项目中很多代码都要改。 后来分析的一下,分享主要集成了微信和新浪,我直接更换他们最新的.a文件是否可以?后来资讯了share技术,告知这样做是可以的,完美。其他项目中第三方也一样。

4.IP地址

为了适配IPv6,项目中要把IP地址换成域名处理

二、搭建并测试IPv6

这里小小偷懒了下,直接复制的图,亲测可行

使用你的MAC建立本地的IPv6 Wi-Fi 网络

确认你的MAC连接到了互联网,并且不是通过Wi-Fi.(插入网线即可),注意不要是有代理才能上网的,在公司需要设置代理才可以上网,整了一天没整好,回家使用网络直接搭建成功。

从Dock中运行系统首选项

按住Option按键并且同时点击共享 ,不要松开Option按键

打开设置 共享选项

从共享服务中选择互联网分享选项

配置互联网共享

释放Option按键

选中 创建NAT64网络复选框

打开本地的IPv6 NAT64 网络

选择一个提供互联网链接的网络接口, 例如雷电网卡

选择一个网络接口共享

选择Wi-Fi 复选框.

打开通过 Wi-Fi共享

点击 Wi-Fi 选项, 配置网络名称与密码等信息

访问WI-FI设置选项

设置本地WI-FI

选择互联网共享复选框,开启你的本地网络

开启互联网共享

当提示确认开始分享的时候,点击开始

开始分享

一旦共享处于活动状态,你应该看到一个绿色的状态指示灯,Internet共享标签:开。在无线网络菜单中,您还将看到一个小的,淡淡的箭头朝上,表明互联网共享已启用。你现在有一个IPv6NAT64网络,并可以从其他设备,以测试你的应用程序连接到它。

互联网共享标识

手机连上之后,DNS就是IPv6网络了,运行app测试即可。


手机连接

参考文章地址:

ASI是否支持:http://stackoverflow.com/questions/37063252/does-asihttprequest-support-ipv6-only

Reachability官方:https://developer.apple.com/library/ios/samplecode/Reachability/Listings/LICENSE_txt.html#//apple_ref/doc/uid/DTS40007324-LICENSE_txt-DontLinkElementID_3

DNS64和NAT64

http://www.ipv6bbs.cn/thread-170-1-1.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容