iOS模拟器调试WebView
首先需要安装 Xcode,安装完毕后,在终端中运行 xcode-select --install
安装 Command-line-tools。
安装完毕后搜索Simulator
,或者按 Command+Shift+G
, 输入/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
,便可运行模拟器。
你也可以使用命令行来管理和启动模拟器:
- 运行
xcrun instruments -s
列出可用的 iOS 模拟器: - 运行
xcrun instruments -w XXX
启动模拟器
Simulator 默认只有最新的 iOS 版本的模拟器,如果你需要在老版本的 iOS 上调试,可以这样安装更多版本。
- 首先进入设备管理:
- 点击左下角的加号,选择
Download more 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 指令集上的,需要专门打包。
作者:IMWeb团队
链接:https://juejin.im/post/5bd99ca7e51d4568383e80ea
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
iOS模拟器调试WebView相关推荐
- Xamarin.iOS模拟器调试找不到资源文件
Xamarin.iOS模拟器调试找不到资源文件 在Visual Studio 2015中,运行Xamarin.iOS项目,出现找不到资源文件的错误. 错误信息:System.IO.FileNotFou ...
- IOS模拟器调试ANE
来源:http://www.tuicool.com/articles/AFRJzi 利用iOS模拟器来检测和调试AIR应用程序补充篇 Air3.4来了 除去可以直接往模拟器里面部署应用,还可以往真机 ...
- 详解uni-app项目运行在ios模拟器调试
详解uni-app项目运行在ios模拟器调试 uni-app项目运行在ios模拟器调试 文章目录 详解uni-app项目运行在ios模拟器调试 前言 一.环境准备 二.模拟器调试 总结 前言 UNI- ...
- 安卓IOS客户端调试webview页面的方法,支持实时预览
调试方式 手机模拟器调试 真实手机调试,安卓和IOS都可以 注意事项 混合开发的时候经常要用到调试功能,调试webview方法有很多种: 直接让客户端把地址修改成本机ip地址,客户端重新出调试包 通过 ...
- iOS Safari调试webview时 页面空白或者闪退解决
最近在调试一个bug,是嵌入的webview页面,需要使用iOS Safari浏览器调试. 如何调试webview ios Safari 所需要的设置 打开"设置->Safari浏览器 ...
- IOS开发之——IOS模拟器调试蓝牙BLE
由于在iPhone 4s之后的iOS才支持BLE,新一代的这些iOS设备又都不便宜,在做测试的时候,用iOS模拟器进行调试,可以节约一些开发成本.怎么在iOS模拟器上调试BLE,苹果最初给出的说明是, ...
- iOS | 模拟器调试Web控制台空白问题及解决
配置环境 macOS:macOS Catalina 10.15.7 Safari:15.0 Xcode:12.4 Simulator iOS 14.4 问题 使用模拟器打开Web页面后,发现Safar ...
- iOS各种调试技巧豪华套餐
转载http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Globa ...
- IOS各种调试技巧豪华套餐(好东西)
目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启 ...
最新文章
- CentOS 不区分大小写的搜索
- 吴文俊人工智能科学技术奖:陆汝钤院士、百度王海峰等获奖
- Node.js使用NodeMailer发送邮件
- 每日一皮:这设计师真有才...
- SpringBoot 实战:如何从零开发 “淘宝”
- 如何看Linux服务器是否被攻击
- Java的接口及实例
- 【OpenCV 例程200篇】38. 图像的反色变换(图像反转)
- 线程加入 java 1615477815
- 在RDA上使用mbed编译运行KWS
- HDU-2594-Simpsons’ Hidden Talents (kmp)
- 逆向project实战--Afkayas.1
- 《HTML5移动Web开发实战》—— 1.6 在移动网站中使用HTML5
- Python(函数的参数)
- 计算机文件夹隐藏了怎么恢复,文件夹隐藏了怎么恢复,文件夹设为隐藏如何恢复...
- c语言中整型实型是什么,C语言中为何整型变量以实型变量输出为0?
- 计算机毕业优秀作品展观后感,毕业设计作品展观后感
- 什么是API Mock测试?
- PCB抗干扰设计原则
- archlinux下网易云音乐netease-cloud-music部分问题
热门文章
- [LeetCode]682. 棒球比赛(Baseball Game)Java
- C++读取硬盘序列号
- 选择 Go 还是 Rust?CloudWeGo-Volo 基于 Rust 语言的探索实践
- Django项目实践(商城):十一、收货地址
- iOS ping++支付功能实现
- 在史蒂夫传中寻找现实扭曲力场1
- 何为RPA的核心壁垒?RPA的服务方式探析
- DM数据库使用dmmdf工具修改db_magic
- Windows端安装Oracle客户端并配置服务、Oracle数据库备份还原以及修改数据库编码
- 升级Jquery版本,解决低版本安全漏洞