用 RemoteDebug iOS Webkit 在 Chrome DevTools 中调试iOS/iPadOS设备的前端页面

前言

相信很多小伙伴在开发移动端网页时,都会遇到兼容性问题的修改,尤其是当项目运行在真机上时,一些奇奇怪怪的bug接踵而至,很是头疼。在Android设备上,我们可以轻松的在Chrome DevTools上进行调试,但面对iOS设备,在我们没有Mac电脑的情况下,调试iOS的页面就是困难重重,通常都会选择alert或者是vConsole来调试,但此方法也只是查看控制台,却无法查看Dom元素。

RemoteDebug iOS WebKit 适配器

RemoteDebug iOS WebKit适配器是一个协议适配器,iOS上的Safari和WebView可以从VS Code,Chrome DevTools,Mozilla Debugger.html和其他与Chrome调试协议兼容的工具进行调试。   在Medium的介绍博客文章中阅读更多内容:Hello RemoteDebug iOS WebKit适配器:使用Chrome DevTools,VS Code和Mozilla Debugger.html 📡📱进行iOS网络调试

原文出处:RemoteDebug iOS WebKit

Windows系统:

所需工具:

  1. windows powershell 5.1及以上版本;
  2. node.js环境;
  3. git环境;
  4. iTunes程序(可在Microsoft Store中安装)或爱思助手;
  5. windows包管理器Scoop。

1. 安装scoop主程序(已安装可忽略此步骤)

1.1 首次安装(非管理员运行)

Win + R 打开运行,输入powershell回车;

脚本执行策略更改

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

输入 Y 或 A,同意

再执行安装命令

iwr -useb scoop.201704.xyz | iex

1.2 更换scoop镜像库地址

更换 scoop 的 repo 地址

scoop config SCOOP_REPO "gitee.com/glsnames/sc..." # 更换后更新一下

scoop update

2. 为scoop添加新bucket

2.1 安装git程序(已安装可忽略)

必装git,scoop及bucket更新均依赖此软件

scoop install git

2.2 添加extras库

scoop bucket add extras

2.3 bucket的语法及如何添加第三方库

查询官方已有的bucket

scoop bucket known

基本语法

scoop bucket add <库名(别名)> <git地址(添加第三方库时必填)>

例如添加scoopcn库

scoop bucket add scoopcn github.com/scoopcn/sco...

删除bucket

scoop bucket rm <库名(别名)>

ps:scoop所在目录下不可有对应库名的文件夹,即便是空的也不行,需要先运行scoop bucket rm <库名> 进行删除。

2.4 代理(可选)

ps:即便上面已经将scoop的镜像库替换成国内的了,但安装时依旧会有超时情况发生,可根据需要添加代理

添加代理

scoop config proxy 127.0.0.1:[代理端口]

移除代理

scoop config rm proxy

3. 安装软件

3.1 安装 ios-webkit-debug-proxy

scoop install ios-webkit-debug-proxy

3.2 安装 vs-libimobile

npm install -g vs-libimobile

3.3 安装 remotedebug-ios-webkit-adapter

npm install remotedebug-ios-webkit-adapter -g

4. 调试

ps:调试前,需要将iPhone或iPad通过数据线连接到电脑上,打开iTunes或爱思助手,并在手机上信任此电脑。

4.1 运行 remotedebug-ios-webkit-adapter

在 命令行/终端 中运行

remotedebug_ios_webkit_adapter # 默认运行的端口是9000,如需指定端口,可在后面添加端口,例:

remotedebug_ios_webkit_adapter --port=9001

4.2 打开谷歌/Edge开发者工具

在地址栏里输入 chrome://inspect/#devices

4.3 配置

4.4 调试

这界面,非常熟悉的味道,不过也有个弊端,我电脑上无法使用console.log和console.error,但可以使用console.info,且无法输出object对象,需要对其进行序列化后输出,至此,整体步骤已结束。

注意事项

可能会出现抛出错误的地方时:

在安装remotedebug-ios-webkit-adapter时,Windows 11系统会抛出错误,解决方法就是找到电脑全局的npm包管理器安装库的位置,在该位置将remotedebug-ios-webkit-adapter从github上下载下来,编译一次即可(其他的库如果安装有问题,也可以用此方法解决)

相关推荐
摇滚侠1 小时前
npm 设置了阿里云镜像,然后全局安装了 pnpm,pnpm 还需要设置阿里云镜像吗
前端·阿里云·npm
程序员清洒7 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
VX:Fegn08957 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
0思必得07 小时前
[Web自动化] 反爬虫
前端·爬虫·python·selenium·自动化
LawrenceLan7 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
秋秋小事8 小时前
TypeScript 模版字面量与类型操作
前端·typescript
2401_892000528 小时前
Flutter for OpenHarmony 猫咪管家App实战 - 添加提醒实现
前端·javascript·flutter
Yolanda948 小时前
【项目经验】vue h5移动端禁止缩放
前端·javascript·vue.js
广州华水科技9 小时前
单北斗GNSS形变监测一体机在基础设施安全中的应用与技术优势
前端
EndingCoder10 小时前
案例研究:从 JavaScript 迁移到 TypeScript
开发语言·前端·javascript·性能优化·typescript