ChatGPT解决这个技术问题 Extra ChatGPT

用 PC 调试 ipad safari

我想在我的 ipad 上的 Safari 上测试我的网站。我只有另一台电脑。有没有办法让我像 ADB 一样使用移动 Chrome 进行远程调试?我在 StackOverflow 上搜索,似乎有一个 Adobe Edge Inspect CC,但我不知道这是否是一个不错的选择。

谢谢!


B
Ben Carp

2019 年 10 月更新

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

于 2017 年 6 月 24 日更新和测试

在 Windows 8 及更高版本上使用 Chrome:

下载并安装节点

下载并安装 iTunes 并将其连接到您的设备。 (应向您的 iPad 显示一个弹出窗口以获取授权)。确保在您的 iPad 中允许 Web 检查器

下载并安装远程 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 并转到以下链接:

铬://检查/#设备

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

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

Extra step for iOS 11 感谢@skaurus


太好了,这是迄今为止最简单的解决方案。您还可以通过访问此链接使用内置的 DevTools chrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/page/1
我已经在 Windows 10 上使用 Chrome 和 Canary 尝试过上述操作,但浏览器找不到设备。我今天下载了最新的 iTunes,用管理员权限执行了 iTunes。与 ios...proxy.exe 相同。有什么想法吗?
@Lemmy4555 ios_webkit_debug_proxy.exe 的注释指出:由于安全原因,https URL 将不起作用;将 http 或 force-allow 与 URL 栏的屏蔽图标一起使用。不确定这是我上面错误的原因,因为我没有收到任何安全防护图标错误。感谢您的答复。
设法让它在带有 iOS10 的 Windows 10 中工作。我需要下载调试代理的 x64 版本,因为其他版本引发了错误(直接链接:sourceforge.net/projects/ios-webkit-debug-proxy-win32/files/…)此外,提供的 URL 刀片对我不起作用,只有第二个 URL 可以。
这对我在 Win 10 + iOS 11 上不起作用,但我在这里找到了解决方案:github.com/RemoteDebug/remotedebug-ios-webkit-adapter/issues/79
J
John Washam

请参阅monkeythedev's answer,了解在装有 iOS 9+ 的 Windows 8+ 机器上进行调试的最简单方法。我使用来自该答案和其他来源的信息以及 recorded a screenshare 更新了 my blog post。如果需要,以下方法仍适用于 iOS 8 及更低版本。

实际上,有一种非常简单的方法可以在 Windows 机器上使用 Firefox 在 iOS 上的 Safari 中调试网站。

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

我为此写了一篇detailed blog post,但这里是重点:

安装 iTunes 以获取其随附的“Apple Mobile Device Support”和“Apple Application Support”应用程序。 (如果需要,请在之后卸载 iTunes)通过 USB 连接您的 iOS 设备。在 iOS 上启用 Web 检查器(适用于 iOS 6 及更高版本)。在您的 iOS 设备上打开 Safari 并浏览到一个网站。在您的 Windows 机器上打开 Firefox,然后按 Shift + F8 打开 WebIDE,如果您使用 Firefox Developer Edition(任何版本)或 Firefox 37 及更高版本(任何渠道),它应该包括必要的 Valance 插件。出于某种原因,我无法让它连接到我的 iOS 设备,直到我下载了 ios-webkit-debug-proxy-win32 程序并运行它。它会打开一个空白的命令提示符,但是在我打开它后回到 WebIDE 后,我断开了连接,然后重新连接,我看到了我在 Safari 中打开的网站的调试信息。不过,您可能不需要这样做,因为另一个用户只需向他们的防火墙添加一个例外,然后断开/重新连接,它就可以工作了。

可用的调试信息不像 Chrome 开发者工具那样详尽(特别是没有“网络”选项卡),但足以让我能够查看控制台中发生的事情。

https://i.stack.imgur.com/vMZCK.png


仅供参考,对于 iTunes(驱动程序/库)依赖项,如果不想安装(然后卸载)iTunes,您可以使用 MSI/EXE 提取器工具(或类似 WinRAR 的等效工具)来查看/提取 iTunes 安装程序内容,例如一个 zip 文件,然后只保留驱动程序/库文件。它们是具有上述名称的 MSI 文件。我一直讨厌安装/使用 iTunes。驱动程序可以很好地保留和重复使用,直到您需要新的驱动程序(比如新的 Apple 设备、新功能等)
我不必安装 ios-webkit-proxy-win32,但是当我单击打开 safari 设备时确实收到了防火墙警告。我做了一个例外,但它第一次仍然无法正常工作,但在我断开连接并重新连接后它工作得很好。经过数小时的搜索,这个解决方案是迄今为止我发现的最简单的解决方案,您先生应该得到所有的支持。
根据此线程 (github.com/mozilla/valence/issues/199),在 iOS 9 中使用此方法似乎存在一些问题
我还必须下载 ios-webkit-debug-proxy-win32 (必须使用 ios-webkit-debug-proxy-mingw32 版本)。仍然没有用。然后我在 WebIDE 中单击“Chrome 桌面”,现在它可以工作了!
我认为它无法在 iOS 8 之后运行,如此处所述:developer.mozilla.org/en-US/docs/Tools/Valence。它在 iOS 10 上对我不起作用。
B
Ben Carp

2018 年更新:

自原帖以来,博文已死& Telerik App Builder is discontinued,不再提供。添加此更新以通知读者,以防他们没有阅读此答案帖子后面的用户评论。至于博客文章,对于那些仍然感兴趣的人,这里有一个 web cached copy。关于博客,我认为该博客所在的公司已经关闭。

当我有机会时,我会看看我是否保存了应用程序构建器的副本,以便我可以将它发布到网上,供那些仍然有兴趣使用它的人使用,也许还有博客文章的另一个缓存副本。

原始答案

在远程调试时,您可以尝试在 Windows 上使用 Telerik AppBuilder(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 应用商店中找到它们。它们为您提供了移动 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 Inspector。有人有类似的问题吗?
Telerik 选项似乎需要拥有一个苹果开发者帐户,而我永远无法连接我的设备。我不做任何苹果开发,我只需要检查和调试 safari html/css 缺陷。
博客链接已失效,无法再访问 Telerik Appbuilder:docs.telerik.com/platform/appbuilder/discontinuation
不幸的是,这是一个很好的工具。我会看看我是否有一个可以放在本地的缓存副本。但最好现在找到其他解决方案。
对于那些可能拥有旧 Appbuilder 副本的人,这里是教程的缓存副本:webcache.googleusercontent.com/search?q=cache:https://…
S
Siniša

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

控制台

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

在 iOS Safari 以及其他移动浏览器上运行良好 - 只要在浏览器中启用 JavaScript。

如何安装: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 很高兴!
这是一颗宝石!如果您只想进行一些简单的调试,那么迄今为止最简单的解决方案。
B
Ben Carp

2019 年 10 月

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

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

在浏览器本身中显示控制台消息。如here和Sinisa的回答所述。 “remotedebug-ios-webkit-adapter”不适用于调试 IOS 12+。对于 IOS 11,它需要额外的步骤,并且适用于 IOS 10 以及可能更旧的版本。


我当前的问题是应用内 javascript 控制台不会从我在 iPad 上的 chrome 中的其他选项卡中输出任何内容。此外,您的两个链接都指向相同的网址。令人遗憾的是,世界上最富有的科技公司之一在没有精通技术的 windows/linux 用户的帮助下无法为开发人员找到调试简单网站的方法。
@JohnF,不确定我是否理解您当前的问题。
约翰·F。他们要你买一台 Mac,你可以从中调试
B
Ben Racicot

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


M
Manuel Arwed Schmidt

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


在 Mac 上进行测试可能会有所帮助,但在 Windows 上则无济于事,因为 Safari 已过时且不再维护。
在我的 iPad2 (iOS 8.3) 上,在 Safari 的高级设置中显示:“要使用 WebInspector,请使用电缆连接到计算机上的 Safari,然后从“开发”菜单访问您的 iPad。您可以在 Safari 的“高级首选项”中启用“开发”菜单在你的电脑”。我可以在 Windows8 上的 Safari5.1.7 上启用开发菜单。但是从那里我不知道如何启动我 iPad 的 Safari 中显示的 html 页面的调试器。
Stonecrusher:我认为它与在 iPad 上远程调试所需的开发者模式不同。
Safari 5 是适用于 Windows 的最新版本。这个版本完全过时了...
S
Stephen Johnson

我还没有在 PC 上尝试过,但是您应该可以访问 http://[DEVICE_IP_ADDRESS]:9999 进行调试。


我不能让它工作。你能给我指点这方面的说明/文件吗?
我很难相信这会奏效。为什么端口 9999?甚至没有意义
你不再需要这个了。您可以使用开发菜单项。这是 5 年前的官方方式。
@StephenJohnson 什么开发菜单和在哪里?
@CsabaToth 在 Safari 中,您需要打开 Safari 首选项,转到高级,然后切换“在菜单栏中显示开发菜单”。
K
Kenneth Auchenberg

2021 年更新:

RemoteDebug 的创建者在这里。我已经构建了一个名为 Inspect 的 RemoteDebug 替代品,它将所有内容打包在一起,带来愉快的体验,并支持从 Windows、macOS 和 Linux 轻松进行 iOS Web 调试,并具有一些额外的功能,例如截屏和 wifi 调试。

http://inspect.dev