使用PC调试ipad Safari


72

我想在ipad上的Safari上测试我的网站。我只有一台电脑。我可以通过移动Chrome浏览器进行ADB等远程调试吗?我在StackOverflow上搜索,似乎有一个Adobe Edge Inspect CC,但我不知道这是否是一个不错的选择。

谢谢!

Answers:


18

2018年更新:

由于是原始帖子,因此博客帖子已死,并且Telerik App Builder已停产并且不再提供。添加此更新是为了通知读者,以防万一他们没有阅读此答案帖之后的用户评论。至于博客文章,对于仍然感兴趣的人,这是一个网络缓存副本。关于博客,我认为博客所来自的公司已经关闭。

如果有机会,我将查看是否保存了应用程序构建器的副本,以便可以将其在线发布给仍对使用它感兴趣的用户,以及其他缓存的博客文章副本。

原始答案

您可以尝试在远程调试时尝试使用Telerik AppBuilder(Windows客户端)在Windows上替代Mac上的Safari调试器。下面的链接中有一篇不错的博客文章,介绍了执行该操作的步骤。我宁愿不重新发布信息,因为它也有屏幕截图,而且文本很多。但实际上,您需要安装应用程序,打开它,通过USB连接设备,然后可以在应用程序中找到它并为其打开开发人员工具/调试器。对于非公开网站,您必须打开80端口,并在帖子中记录一些防火墙配置。

http://blog.falafel.com/Blogs/josh-eastburn/2014/03/04/ios-web-inspector-on-windows-with-telerik-appbuilder

该工具需要许可证,或者您可以使用试用版,之后该试用版将成为基本版本。我认为基本版仍将允许您进行调试。我要亲自尝试一下。

您也可以尝试这些iOS应用程序,也可以在iTunes App Store中找到它们。它们为您提供了移动Safari无法提供的内置开发人员工具功能(在iOS上没有远程调试功能)。

MIH工具-基本版本 https://itunes.apple.com/us/app/mihtool/id584739126?ls=1&mt=8

HTTPWatch基本版 https://itunes.apple.com/us/app/httpwatch-basic-http-sniffer/id658886056?mt=8

我给了他们一个尝试,它们至少比您在iOS上获得的移动Safari更好,除非人们需要针对完全的移动Safari兼容性。我猜想这些应用程序的专业版/付费版会为您提供更多/更好的功能。


根据最新的AppBuilder 2016.04.14.2和iOS 9.1,我无法使它正常工作。AppBuilder不再显示Web检查器。任何人都有类似的问题吗?
罗伯特·

telerik选项似乎需要拥有Apple开发人员帐户,而我却无法连接设备。我不进行任何Apple开发,只需要检查和调试safari html / css缺陷。
路加·赖斯

博客链接已失效,Telerik Appbuilder不再可用:docs.telerik.com/platform/appbuilder/discontinuation
Juanito

不幸的是,它是很好的工具。我将查看我是否可以在本地放置缓存副本。但是最好现在就找到其他解决方案。
大卫,

对于那些可能拥有旧Appbuilder副本的用户,这里是本教程的缓存副本:webcache.googleusercontent.com/search?
David

91

2019年10月更新

此解决方案不适用于IOS 12+(资源1资源2)。

于24/6/2017更新并测试

Windows 8及更高版本上使用Chrome

  • 下载并安装节点
  • 下载并安装iTunes,并将其连接到您的设备。(弹出窗口应显示在您的iPad上以获得授权)。确保在iPad中允许网络检查器

  • 下载并安装远程Webkit适配器

使用Powershell(以管理员身份):

npm install remotedebug-ios-webkit-adapter -g

  • 执行适配器:

使用Powershell(以管理员身份):

remotedebug_ios_webkit_adapter --port=9000

您应该得到类似的输出:

C:\Windows\system32> remotedebug_ios_webkit_adapter --port=9000 remotedebug-ios-webkit-adapter is listening on port 9000 iosAdapter.getTargets ...

  • 打开Chrome并转到以下链接:

chrome:// inspect /#devices

  • 单击“发现网络目标”旁边的配置,然后添加以下内容: localhost:9000

确保在safari上打开要调试的网页,您应该在远程目标下的chrome inspector页面上看到它

iOS 11的额外步骤感谢@skaurus


2
太好了,这是迄今为止最简单的解决方案。您也可以通过转到此链接来使用内置的DevToolschrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/page/1
Blade

3
我已经在Windows 10,Chrome和Canary上尝试了上述方法,但是浏览器找不到设备。我今天下载了最新的iTunes,并以admin priv执行了iTunes。与ios ... proxy.exe相同。有什么想法吗?
Highdown

1
@ Lemmy4555 ios_webkit_debug_proxy.exe的注释指出:由于安全原因,https URL无法使用;在网址列的盾牌图示中使用http或强制允许。由于我没有收到任何安全防护图标错误,因此不确定是上述错误的原因。感谢您的答复。
Highdown '16

5
设法使它在带有iOS10的Windows 10中正常工作。我需要下载调试代理的x64版本,因为其他版本抛出错误(直接链接:sourceforge.net/projects/ios-webkit-debug-proxy-win32/files/…)另外,提供的URL刀片不起作用对我来说,只有第二个网址。
BenShelton

7
这在Win 10 + iOS 11上对我不起作用,但是我在这里找到了解决方案:github.com/RemoteDebug/remotedebug-ios-webkit-adapter/issues/79
skaurus

33

请参阅monkeythedev的答案,以在使用iOS 9+的Windows 8+计算机上进行调试的最简单方法。我使用该答案和其他来源的信息更新了博客文章,并记录了屏幕分享。如果需要,以下方法仍适用于iOS 8及更低版本。

实际上,有很简单的方法可以在Windows计算机上使用Firefox在iOS的Safari中调试网站。

注意:Ryan在下面的评论中写道,这仅适用于iOS 8及更低版本。我无法确认,但请注意。

我写了一篇关于此的详细博客文章,但以下是重点内容:

  1. 安装iTunes以获取随附的“ Apple移动设备支持”和“ Apple应用程序支持”应用程序。(如果需要,请在以后卸载iTunes)
  2. 通过USB连接iOS设备。
  3. 启用网页检查器在iOS上(在iOS 6和更高版本上可用)。
  4. 在iOS设备上打开Safari并浏览到网站。
  5. 在Windows计算机上打开Firefox,然后按Shift + F8打开WebIDE,其中应包含必要的如果使用Firefox开发人员版(任何版本)或Firefox 37及更高版本(任何渠道)附加组件。
  6. 出于某种原因,直到下载ios-webkit-debug-proxy-win32程序并运行它,我才能将其连接到我的iOS设备。它会打开一个空白的命令提示符,但是打开后返回WebIDE后,我断开了连接,然后重新连接,然后看到了我在Safari中打开的网站的调试信息。但是,您可能不需要这样做,因为另一个用户只需要向其防火墙添加例外,然后断开/重新连接即可,它就可以了。

可用的调试信息并不像Chrome开发者工具那样详尽(特别是没有“网络”标签),但是对于我来说,足以查看控制台中发生的一切。

在此处输入图片说明


1
仅供参考,对于iTu​​nes(驱动程序/库)依赖项,如果不想安装(然后卸载)iTunes,则可以使用MSI / EXE提取器工具(或类似的WinRAR)来查看/提取iTunes安装程序的内容,例如压缩文件,然后仅保留驱动程序/库文件。它们是带有提及名称的MSI文件。我一直讨厌安装/使用iTunes。在需要新驱动程序(例如,用于新的Apple设备,新功能等)之前,驱动程序可以很好地保留和重用
David

我不必安装ios-webkit-proxy-win32,但单击打开safari设备时确实收到了防火墙警告。我做了一个例外,但是第一次还是没有用,但是在我断开连接并重新连接后,它运行良好。经过数小时的搜索,到目前为止,这种解决方案是我找到的最简单的方法,先生,您值得所有推荐。
卢克·赖斯

1
根据此线程(github.com/mozilla/valence/issues/199),在iOS 9上使用此方法似乎存在一些问题
Ian

我还必须下载ios-webkit-debug-proxy-win32(必须使用ios-webkit-debug-proxy-mingw32版本)。仍然没有用。然后,我在WebIDE中单击“ Chrome桌面”,现在可以使用了!
AndiPower

我认为它不能在iOS 8以后运行,如此处所述:developer.mozilla.org/en-US/docs/Tools/Valence。它不适用于
Ryan

8

这个问题已经有4年多了,但我觉得值得一提的是与平台无关的另一个选项,上面似乎没有提到:

V控制台

这是一种JavaScript,您可以将其注入页面,从而覆盖所有本机控制台输出,并将其显示为页面内容之上的覆盖,其详细程度几乎与Google Chrome的开发人员工具一样好。

只要在浏览器中启用了JavaScript,就可以在iOS Safari以及其他移动浏览器上很好地运行。

如何安装:https : //www.npmjs.com/package/vconsole

您将需要NPM工具来安装它,但实际上并不需要使用NPM来构建您的项目。您可以简单地将VConsole安装在单独文件夹中的某个位置,然后从中复制粘贴vconsole.min.js。

将其注入页面后,将如下所示:

<script type="text/javascript" src="vconsole.min.js"></script>
<script type="text/javascript>let vc = new VConsole(); // this will initialize it.</script>

外观非常吸引人,您将在移动/桌面浏览器的页面右下角看到绿色按钮,它将打开控制台覆盖。

很整齐!

当然,它不能为您提供选择元素,查看计算出的CSS等的功能,但是,如果您要查找控制台输出和一些网络报告,那么此功能确实非常易于使用。


让我开心!由于jsconsole.com被关闭,我一直在寻找这样的工具!为Iphone调试总是给我一个艰难的时期,但是这个工具很棒。通过仅向页面添加几行,我终于得到了有用的调试消息。谢谢:)
user2718671

@ user2718671我的荣幸!
Sinisa

1
这是一颗宝石!如果您只想进行一些简单的调试,则是迄今为止最简单的解决方案。
Crackerjack '18

5

2019年十月

AFAIK,对于最新的IOS版本,没有从PC调试IOS的整体解决方案。

但是,您可以使用以下解决方案之一:

  1. 在浏览器本身中显示控制台消息。如上所述这里和米哈伊的答案。
  2. “ remotedebug-ios-webkit-adapter”不适用于调试IOS 12+。它需要针对IOS 11的额外步骤,并且适用于IOS 10以及可能的较旧版本。

我当前的问题是应用内JavaScript控制台无法从iPad上的Chrome中的其他其他标签中输出任何内容。另外,您的两个链接都指向相同的URL。令人遗憾的是,如果没有精通技术的Windows / Linux用户的帮助,世界上最富有的技术公司之一就无法找到开发人员调试简单网站的方法。
JohnF

@JohnF,不确定我是否了解您当前的问题。
本·卡尔

约翰·F。他们想让您购买Mac,可以从中进行调试
Tony

1

我将PrePros用于CSS预处理,它具有用于移动调试和Web检查器的内置服务器。但这仍然仅对本地站点有利...


1

以我的经验,通常仅使用移动Safari并不是问题,而通常是Safari。在这些情况下,尝试使用普通的Safari(适用于Windows)并查看其中是否存在错误可能会有所帮助。如果是这样,通过这种方式调试某些东西要容易得多。


2
在Mac上进行测试可能会有所帮助,但在Windows上则不会,因为Safari已过时且不再维护。
FDIM

在我的iPad2(iOS 8.3)的Safari的高级设置中,它说:“要使用WebInspector,请使用电缆连接到计算机上的Safari,然后从“开发”菜单访问iPad。您可以在Safari的“高级偏好设置”中启用“开发”菜单在你的电脑”。我可以在Windows8的Safari5.1.7上启用“开发”菜单。但是从那里我不知道如何启动iPad的Safari中显示的html页面的调试器。
碎石者

Stonecrusher:我认为它与在iPad上进行远程调试所需的开发人员模式不同。
Manuel Arwed Schmidt

Safari 5是Windows的最新版本。这个版本已经完全过时了……
Sebas

0

我尚未在PC上尝试过此操作,但是您应该可以转到http:// [DEVICE_IP_ADDRESS]:9999进行调试。


2
我无法使它正常工作。您能指出我的指示/文档吗?
保护者2014年

1
我很难相信这会奏效。为什么要港口9999?甚至都没有意义
vsync

您不再需要此功能。您可以使用显影菜单项。这是5年前的官方方式。
Stephen Johnson

@StephenJohnson什么开发菜单在哪里?
Csaba Toth

@CsabaToth在Safari中,您需要打开Safari偏好设置,转到“高级”,然后打开“在菜单栏中显示开发菜单”。
斯蒂芬·约翰逊
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.