在最近发布的iOS版Chrome浏览器中,我想知道如何为Chrome iOS启用远程调试?
更新:随着iOS 6的发布,现在可以使用Safari进行远程调试。
在最近发布的iOS版Chrome浏览器中,我想知道如何为Chrome iOS启用远程调试?
更新:随着iOS 6的发布,现在可以使用Safari进行远程调试。
Answers:
更新:
这不再是最佳答案,请遵循格雷格斯的建议。
新答案:
使用Weinre。
旧答案:
现在,您可以使用Safari进行远程调试。但这需要iOS 6。
这是http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector的快速翻译
正如Simons指出的那样,需要关闭私有浏览才能使远程调试工作。
设置> Safari>私人浏览>关
所选答案仅适用于Safari。目前,无法在iOS的Chrome中进行真正的远程调试,但是与大多数移动浏览器一样,您可以使用WeInRe进行一些简单的调试。设置有点麻烦,但是可以让您检查DOM,查看样式,更改DOM并使用控制台。
建立:
npm install -g weinre
weinre --boundHost -all-
小书签安装起来有点麻烦。如果您同时为台式机和移动版Chrome打开了书签同步功能,这是最简单的方法。从本地weinre服务器复制小书签网址(与上面相同)。不幸的是,它不能正常工作,因为它没有正确的url编码。因此,打开JavaScript控制台并输入:
copy(encodeURI('')); // paste bookmarklet inside quotes
现在,您应该在剪贴板中有url编码的书签。将其粘贴到“ 移动书签”下的新书签中。称它为weinre或简单键入的内容。它应该非常快地同步到您的手机,因此加载您要检查的页面。然后,在网址栏中输入书签名称,您应该将小书签视为自动完成建议。单击它以运行bookmarklet代码:)
Ctrl-Shift-B
如果不可见,则使该工具栏可见)。
npm install -g weinre
不是为我工作。所以我必须在版本中运行它npm install -g weinre@2.0.0-pre-I0Z7U9OV
。在此处检查最新版本npmjs.com/package/weinre。
您目前无法在iOS上直接远程调试Chrome。它使用的uiWebView可能与Mobile Safari略有不同。
您有几种选择。
选项1:使用Safari的检查器远程调试Mobile Safari。如果您的问题在Mobile Safari中重现,则绝对是最佳方法。实际上,通过iOS模拟器更加容易。
选项2:使用Weinre可获得精简的调试体验。 Weinre没有太多功能,但有时足够好。
选项3:远程调试功能相同的适当uiWebView。
这是执行此操作的最佳方法。您需要安装XCode。
urlString
您要测试的URL。据我了解,谷歌浏览器利用的是iOS的UIWebView,而不是像Android那样完全实现Chrome的实现。
许多远程控制台工作正常。http://farjs.com是我的项目,并且我能够成功调试特定于Crome iOS的问题,而在使用它的野生动物园中没有发生。(可能还有其他所有移动浏览器)
问题在于,由于Chrome不允许您安装书签,因此注入调试代码会有些棘手。
相反,您可以在要调试的页面上打开一个选项卡,在farjs.com上打开另一个选项卡,然后单击“ bookmarklet”
复制小书签JS代码,返回第一个选项卡,其中包含应调试的页面,然后将小书签代码粘贴到位置栏中。
最后一步是滚动到位置栏的开头并添加“ javascript:”,因为Chrome会将其删除。
我还没有尝试过,但是可以通过iOS WebKit调试代理(ios_webkit_debug_proxy / iwdp)远程调试UIWebView。从README.md
ios_webkit_debug_proxy(aka 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调试不在本地主机上运行的应用程序。有关详细信息,请参见https://stackoverflow.com/a/45443203/2073920。
免责声明
我只是一个用户,与Vorlon.JS和ngrok没有关系
您还需要关闭“私人浏览”。
设置> Safari>私人浏览>关
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进行调试。
注意:我与Ghostlab创作者Vanamco没有任何隶属关系。
能够调试特定于Chrome的问题对我来说很重要,因此我开始寻找可以帮助我解决问题的方法。我最终开心地把钱扔到了Ghostlab 3上。我可以像在台式机上一样浏览Chrome和Safari移动浏览器。它只是给我一个局域网地址,供我要调试的任何设备使用。使用该地址的每个应用程序都将出现在Ghostlab的列表中。
强烈推荐。
免责声明:我在BrowserStack工作。[确认]是否可以发布此信息(我可以建议正在使用该公司的产品吗?)
在iOS上调试Safari(目前不支持Chrome浏览器,有关更多详细信息,请提前阅读。)
如何运作?
在真实电话中使用DevTools
就像桌面浏览器devtools一样,将鼠标悬停在元素上,编辑HTML,CSS。
使用DevTools在真实电话中执行JavaScript
切换至Console
标签页,执行JavaScript代码,检查console.log()
输出等...
网络标签,检查请求标头,响应等...
是否在BrowserStack上支持DevTools?
DevTools可用于:
客户端浏览器必须是Chrome或Firefox。这意味着您需要在MacOSX或Windows上使用Chrome或Firefox浏览器才能使用BrowserStack Real Device DevTools。
注意:您需要购买在所有真实设备上进行测试的计划,作为免费用户,您将获得几个Real Android设备(包括平板电脑)和几个Real iOS设备(包括平板电脑)。此外,强调“ 真实设备 ”一词因为它们也提供模拟器。
有关更多详细信息,请参阅“ 移动功能”页面上的DevTools部分。