iPhone iPad等iOS 设备上配置修改 hosts 方法

  • A+
所属分类:hosts

前提

iOS 设备指的是 iPhone/iPod touch/iPad 等运行 iOS 操作系统的移动设备。

为了测试网页在这些移动设备上的表现,我们往往需要使用真实的设备去访问内网的开发/测试环境。在某些时候,服务器端严格绑定域名(不允许使用 IP 地址访问),而且这个域名往往是虚拟的域名(比如yoursite.dev 之类),我们就需要在移动设备上配置 hosts

最重要的一点,你的设备最好是已经越狱的。越狱的目的不是装盗版软件,是为了获取系统的最高权限,这样才有可能修改 hosts 这样的系统级文件。(同理,在 Android 设备上修改 hosts 文件需要获取 root 权限。)

如果无法越狱(比如你手贱把系统升级到了最高版本),则可参考本文末尾的后备方案。

操作步骤

首先,我们需要安装最新版的 iTunes。因为它包含了 iOS 设备的驱动程序,装了它,Windows 才能正常识别设备。

然后,我们需要安装“同步助手”。暂不去纠结这个软件是不是盗版工具,它是目前最好用的 iOS 设备的资源管理器,我们这里只需要用到它的文件管理的功能。

iPhone iPad等iOS 设备上配置修改 hosts 方法

进入文件管理界面,进入 /etc 目录,可以找到 hosts 文件。

 

iPhone iPad等iOS 设备上配置修改 hosts 方法

把它拖到桌面,就可以为所欲为了。修改完成之后,再拖回去替换原文件即可。

在修改过程中,唯一值得一提的恐怕就是换行符的格式了吧。本质上 iOS 是一个功能完备的 UNIX 系统,它的文本文件的换行符当然使用 UNIX 格式,与我们通常使用的 DOS/Windows 格式不一样。安全起见,建议你在保存文件的时候,留意换行符的格式。(参见下图)

iPhone iPad等iOS 设备上配置修改 hosts 方法

后备方案

这里介绍两种后备方案,也适用于无法修改 hosts 的其它移动设备。

真实域名法

即注册一个真实的域名,解析到内网的开发/测试机。这实际上是一个变通的办法,它有一些显而易见的缺点:

  • 需要花钱买域名。
  • 可能需要更新服务器端的域名白名单——前端工程师往往没有这个权限。
  • 域名解析通过外网 DNS 实现,比起 hosts 本地解析要慢一些。

代理法

在本地开发机上建一个代理服务器,让 iOS 设备通过代理服务器访问。这样域名解析这一步是在开发机完成的,只要把开发机的 hosts 配置好就可以了。

架设代理服务器并不复杂,有现成的方案,就是前端神器 Fiddler(只需要选中“允许其它机器连接”选项就可以了),顺道还可以调试移动设备的 HTTP 连接。iOS 设备端的配置也比较简单,这里就不赘述了。

SS推荐

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:22   其中:访客  16   博主  6

    • 加气块设备 加气块设备 0

      谢了

      • yining267 yining267 0

        老D你好,
        按文章上述步骤做了,在文件选项下面找不到ETC文件路径,怎么办真心求解,系统是ios10.3.1,

        • kid kid 0

          iphone直接拖进去替换了 忘记备份 (有时候会卡我想替换用)有什么方法还原? :arrow:

            • 老D 老D Admin

              @kid https://laod.cn/hosts/windows7-8-10-mac-iphone-hosts.html
              手动修改成默认的hosts文件

            • 锋子 锋子 0

              老d,我一直用360路由器的hosts功能,ios和电脑和安卓的浏览器都可以访问被k的网站,但是客户端不行,比如说google的环聊。

                • 老D 老D Admin

                  @锋子 因为客户端使用的端口协议不一样

                • swordjason swordjason 0

                  我觉得后备方案中应该还有一个办法,就是在路由器上或者DNS服务器上添加一条域名记录,就可以解决这个问题.

                  • crazy4u crazy4u 9

                    用微信转了10元,小小意思

                    • 雅芙 雅芙 9

                      好多啊,哈哈,谢谢您

                      • frankiejun frankiejun 0

                        其实后备方案不用搞什么 DNS,只要一台能访问 google 的机器,共享 wifi 出来(有个局限,就是你这台机器是用网线上网的),用手机再连接就可以

                        • jun jun 9

                          无意中安装了chorme,发现上不了应用商店,然后找到了老D这个网站,感觉以后能默默装逼做一名技术宅[哈哈]

                          • 马云 马云 1

                            这招早就会了,我也是直接把ipad越狱后hosts文件拷贝到win7桌面进行修改的,当然有效的hosts地址用的本站提供的那些![嘻嘻]谷歌推特脸书无压力

                              • 老D 老D Admin

                                @马云 ID莫名喜感

                                  • 马云 马云 1

                                    @老D 站长是否有youtube视频雪花有帧预览却无法播放的解决方法?[给力]

                                      • 老D 老D Admin

                                        @马云 1.用第三方下载
                                        [email protected]
                                        3.移民

                                          • 马云 马云 1

                                            @老D 已找到有效解决方案了!

                                            • 欣蕾911 欣蕾911 2

                                              @马云 ipad还不会弄~~

                                      • 苏梓兴 苏梓兴 9

                                        不错,虽然我不用iphone

                                        • 小冷 小冷 0

                                          博客主题不错,很喜欢。请问共享吗

                                            • 老D 老D Admin

                                              @小冷 这个是买别人的收费主题,域名加密验证,所以无法分享,sorry.