Mobile 启用webkit远程调试启动移动浏览器
保罗·爱尔兰(Paul Irish)和帕维尔·费尔德曼(Pavel Feldman)在会上介绍了新功能——这是偶然的 -- 这是一个好消息,特别是对于移动web开发人员来说。 但我们如何启用它,例如启动IOS模拟器,或者只是在iPhone上运行Safari Mobile?(对于chrome,这通常是在启动时使用Mobile 启用webkit远程调试启动移动浏览器,mobile,webkit,mobile-safari,remote-debugging,Mobile,Webkit,Mobile Safari,Remote Debugging,保罗·爱尔兰(Paul Irish)和帕维尔·费尔德曼(Pavel Feldman)在会上介绍了新功能——这是偶然的 -- 这是一个好消息,特别是对于移动web开发人员来说。 但我们如何启用它,例如启动IOS模拟器,或者只是在iPhone上运行Safari Mobile?(对于chrome,这通常是在启动时使用--远程调试端口=9222选项来完成的) 我尝试在safari设置中启用开发者模式(settingssafarideveloperDebug Console:ON),但没有成功 我不知道这
--远程调试端口=9222
选项来完成的)
我尝试在safari设置中启用开发者模式(settings
safari
developer
Debug Console:ON
),但没有成功
我不知道这里的android,但是有人知道苹果(Safari Mobile)或谷歌(android浏览器)什么时候会加入这一新功能,这样我们就可以在移动开发中享受远程调试了吗?
多谢各位
参考:目前没有任何移动浏览器正在实施webkit远程调试协议。(也许你可以为android定制支持它的版本) 然而,还有weinre,它为您提供了web inspector的远程版本。但是为了支持它,您必须在页面中包含一些代码。(因为它不是浏览器功能)
Thomas指出了一个很好的远程调试资源,但是他指出您需要将代码添加到网页中。严格来说,这不是真的,因为weinre还允许通过bookmarklet进行交互。在页面的一部分(在方便地称为“使用书签”的部分下),它说它应该适用于Android 2.2+和iOS 需要注意的一些相关事项:
与您已经尝试过的方法相关-当您在iOS上启用调试控制台时,您在哪里寻找交互/日志输出?更具体地说,您是否在xCode/iPhone simulator中检查了调试控制台?仅仅因为WebKit的一个端口(在本例中为Apple和Chromium)实现了一个功能,并不意味着它在其他地方总是可用的。我在我关于的博客文章中详细地写了这篇文章 到目前为止,唯一具有远程调试功能的移动WebKit端口是RIM Playbook浏览器 对于iOS来说,这是很难知道的,因为苹果从来没有提供任何关于其未来产品的信息。至少我们知道iOS5不会有它,因为测试版没有显示任何相关内容 对于Android来说,它肯定会在未来发布,因为Android用户是其WebKit的新基础。了解了如何在模拟器中运行的iOS5上实现这一点。它围绕着调用private
\u enableMoteInspector
方法展开
读一下。总结如下:
要为Mobile Safari启用此功能,请使用gdb连接到它并调用以下方法:
MobileSafari_PID=$(ps x | grep "MobileSafari" | grep -v grep | awk '{ print $1 }')
if [ "$MobileSafari_PID" == "" ]; then
echo "Mobile Safari.app must be running in the Simulator to enable the remote inspector."
else
cat <<EOM | gdb -quiet > /dev/null
attach $MobileSafari_PID
p (void *)[WebView _enableRemoteInspector]
detach
EOM
在真正的设备上,它不起作用,可能是因为端口是防火墙的——如果你有越狱设备,你可以绕过它(如果你有,请更新我们)。它现在在中受支持。Adobe的实用程序(刚刚发布)允许你使用远程调试,而无需向网页中插入任何代码。它与Windows和Mac上的Chrome作为“主”浏览器协同工作,并将每个页面导航同步到运行iOS或Android客户端的任意数量的设备上
请注意,weinre本身有一定的局限性。例如,您将无法访问“网络”选项卡。查看此bash脚本以使用iOS模拟器启动远程检查器:iOS 6上的Safari 在iOS6中,您现在可以从Safari 6(仅限OS X)进行远程调试。在设备上,打开设置>Safari>高级>启用Web检查器。打开Safari首选项,高级,选中“在菜单栏中显示开发菜单”。使用USB电缆连接iPhone/iPad。现在,在“开发”菜单栏下,您应该会看到设备的子菜单,其中包含您在设备上的Safari中打开的选项卡 iOS 7上的Safari 除上述要求外,您还需要Safari 6.1,目前(2013年10月8日)仅作为开发人员的种子提供: Android 4上的Chrome 在Android上要复杂一些。在Chrome for Android上进行远程调试的说明如下:
我还没有找到在Android默认浏览器(v4.04)中启用远程调试的方法。是的,该端口在设备上通过防火墙连接,但您可以在应用程序中写入一个简单的代理,并通过另一个端口传输流量。这一要点应该可以帮助您在模拟器中自动启动inpsector的过程。非常有用!太棒了:)谢谢你!仅供参考,您现在还可以在Windows上远程调试mobile Safari,请参阅相关的Google项目?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...Snipped...
[NSClassFromString(@"WebView") _enableRemoteInspector];
// ...Snipped...
}