iOS 模拟器调试大法了解一下?

本文由 IMWeb 团队成员 青杨 首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。web

前段时间,老板说:iPhone 又出了那么多新机型,你搞下兼容吧。我:测试机呢?老板说:没有。我:???图片
这让我十分为难,毕竟巧妇难为无米之炊,因而我只好使出绝招:模拟器大法!xcode

一. 安装 & 启动

首先须要安装 Xcode,安装完毕后,在终端中运行 xcode-select--install安装 Command-line-tools。网络

安装完毕后搜索 Simulator,或者按 Command+Shift+G, 输入 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app,即可运行模拟器。app

你也能够使用命令行来管理和启动模拟器:ide

  • 运行 xcrun instruments-s 列出可用的 iOS 模拟器:测试

  • 运行 xcrun instruments-w XXX 启动模拟器 图片网站

Simulator 默认只有最新的 iOS 版本的模拟器,若是你须要在老版本的 iOS 上调试,能够这样安装更多版本。ui

  • 首先进入设备管理:
    图片
    spa

  • 点击左下角的加号,选择 Downloadmore simulator runtime
    图片
    命令行

二. 配置代理

咱们在调试的时候,须要把模拟器的网络请求代理到咱们的 dev-server。这里大力推荐使用强大的 Whistle配合 Proxifier来实现。

首先安装 Whitle,运行 w2 start,访问 http://127.0.0.1:8899,配置好 dev-server 的代理。

而后运行 Proxifier,把模拟器请求转发的 Whistle。 首先添加一条 Action 规则代理到本地 8899端口:
图片而后新建一个规则,把 Simulator;"Xcode Server Builder”; "MobileSafari”;com.apple.WebKit.Networking”;添加到 Applications:
图片

这时,在模拟器中访问咱们要调试的页面,检查一下 Whistle,请求都走到本地,代理配置成功!
图片

PS:第一次使用 Whistle 代理时须要安装并信任证书,具体参考 Whistle 文档。

三. 开始调试

  • 首先在模拟器中启动 Safari,打开调试的页面

  • 而后在 Mac 上启动 Safari,在首选项中启用开发菜单
    图片

  • 模拟器访问须要调试的页面,在开发菜单中找到咱们的页面:
    图片

  • 就能够愉快的玩耍了!
    图片

四. WebView 调试

除了直接调试 Safari 中的页面,咱们还能够借助模拟器调试 APP 中的 Web 页面。能够在 APP 中直接打断点、走单步调试等等,今后跟 eruda 等手动打 log 的调试器说拜拜~

首先咱们须要客户端同窗给模拟器打一个 .app包,把包拖到模拟器安装。而后启动 APP,访问要调试的 Web 页面,如法炮制,如图,就能够愉快的玩耍了~
图片

PS: 打给 iPhone 的 .app 包不能直接给模拟器使用(会闪退),由于模拟器是运行在 X86 指令集上的,须要专门打包。

相关文章
相关标签/搜索