随着最近发布的 Chrome for iOS,我想知道如何为 Chrome iOS 启用远程调试?
更新:随着 iOS 6 的发布,现在可以使用Safari进行远程调试。
随着最近发布的 Chrome for iOS,我想知道如何为 Chrome iOS 启用远程调试?
更新:随着 iOS 6 的发布,现在可以使用Safari进行远程调试。
所选答案仅适用于 Safari。目前无法在 iOS 上的 Chrome 中进行真正的远程调试,但与大多数移动浏览器一样,您可以使用WeInRe进行一些简单的调试。设置起来有点麻烦,但可以让您检查 DOM、查看样式、更改 DOM 并使用控制台。
建立:
npm install -g weinre
weinre --boundHost -all-
小书签安装起来有点麻烦。如果您为桌面版和移动版 Chrome 启用了书签同步功能,这是最简单的。从本地 weinre 服务器复制书签 url(同上)。不幸的是,它不起作用,因为它的 url 编码不正确。所以打开 JavaScript 控制台并输入:
copy(encodeURI('')); // paste bookmarklet inside quotes
您现在应该在剪贴板中有 url 编码的书签。将其粘贴到Mobile Bookmarks下的新书签中。称它为 weinre 或简单的类型。它应该很快同步到您的手机,因此请加载您要检查的页面。然后在 url 栏中输入书签名称,您应该会看到书签作为自动完成建议。单击它运行书签代码:)
更新:
这不再是最佳答案,请遵循gregers的建议。
新答案:
使用温热。
老答案:
您现在可以使用 Safari 进行远程调试。但它需要 iOS 6。
这是http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector的快速翻译
正如Simons指出的那样,需要关闭隐私浏览才能进行远程调试。
设置 > Safari > 隐私浏览 > 关闭
您目前无法在 iOS 上直接远程调试 Chrome。它使用的 uiWebView 可能与 Mobile Safari 略有不同。
你有几个选择。
选项 1:使用 Safari 的检查器远程调试 Mobile Safari。如果您的问题在 Mobile Safari 中重现,这绝对是最好的方法。事实上,通过 iOS 模拟器更容易。
选项 2:使用 Weinre 获得精简的调试体验。 Weinre 没有太多功能,但有时它已经足够好了。
选项 3:远程调试功能相同的适当 uiWebView。
这是执行此操作的最佳方法。您需要安装 XCode。
urlString
您要测试的 URL。据我了解,Google Chrome 使用的是 iOS 的 UIWebView,而不是像 Android 对应的 Chrome 的完整实现。
许多远程控制台工作正常。http://farjs.net是我的项目,我能够成功调试特定于 Crome iOS 的问题,而在使用它的 safari 中没有发生。(可能还有所有其他移动浏览器)
问题是注入调试代码有点棘手,因为 Chrome 不允许您安装小书签。
相反,您可以在要调试的页面上打开一个选项卡,然后在 farjs.com 上打开另一个选项卡,然后单击“书签”
复制书签 JS 代码,返回第一个选项卡,包含应调试的页面,然后将书签代码粘贴到位置栏中。
最后一步是滚动到地址栏的开头并添加“javascript:”,因为 Chrome 会删除它。
我还没有尝试过,但是iOS WebKit 调试代理(ios_webkit_debug_proxy / iwdp)据说可以让你远程调试 UIWebView。来自 README.md
ios_webkit_debug_proxy(又名 iwdp)允许开发人员通过 Chrome DevTools UI 和 Chrome 远程调试协议检查真实和模拟 iOS 设备上的 MobileSafari和UIWebViews 。DevTools 请求被转换为 Apple 的 Remote Web Inspector 服务调用。
Vorlon.JS可用于 iOS 或任何其他客户端的远程调试。
npm i -g vorlon
vorlon
<script src="http://<yourExternalIP>:1337/vorlon.js"></script>
请注意,此方法还可用于使用ngrok调试不在 localhost 上运行的应用程序。有关详细信息,请参阅https://stackoverflow.com/a/45443203/2073920。
免责声明
我只是一个用户,我不隶属于 Vorlon.JS 和 ngrok
您还需要关闭“私人浏览”。
设置 > Safari > 隐私浏览 > 关闭
我正在使用 remotedebug-ios-webkit-adapter,在 Windows 10 上的 Chrome 中打开 IOS 和调试器对我来说效果很好。
如果它对某个人有帮助会很高兴链接
注意:我与 Ghostlab 的创作者 Vanamco 没有任何关系。
能够调试特定于 Chrome 的问题对我来说很重要,因此我着手寻找可以帮助我解决此问题的方法。我最终愉快地把钱扔在了Ghostlab 3上。我可以测试 Chrome 和 Safari 移动浏览器,就像在桌面上查看它们一样。它只是给了我一个 LAN 地址,用于我想调试的任何设备。使用该地址的每个应用程序都将出现在 Ghostlab 的列表中。
强烈推荐。
iOS WebKit 调试代理是最简单的解决方案 - 直接在 Chrome 中调试和实时预览。
甚至我也在寻找相同的功能,截至今天,它尚未实现。不过,我可以想到两种选择,
我注意到 Chrome 和 Safari 的行为完全相同。Chrome 甚至支持 Safari 支持的陀螺仪和其他相关事件。我目前正在通过在 Safari 上启用调试控制台来调试我的 Web 应用程序(通过设置-> Safari)
也可以试试 Adobe Shadow,它允许远程调试/检查和同步。
HTH。
Adobe Edge Inspect ( https://creative.adobe.com/products/inspect ) 是调试所有移动设备 IOS 和 Android(虽然没有 Windows Phone)的另一种方法。它使用 weinre 进行远程 DOM 检查/更改。这不是最快的方法,但它适用于 Windows。
Chromium 上有一个未解决的错误:https ://bugs.chromium.org/p/chromium/issues/detail?id=584905
不幸的是,他们依靠 Apple 在 WKView 中打开一个 API 来实现这一点,之后也许可以从 Safari 进行调试。