关于ios webview的调试其它APP的JS疑问

Android和iOS都可以通过浏览器调试APP WebView的JavaScript代码,目前在iOS中遇到一个调试别的APP WebView的问题。

首先说一下已知的:
1、Android在4.0以上的系统,可以通过Chrome(一定要)数据线连接手机,可以调试包括非自己APP的JavaScript
2、如果不能调试,需要用XPOSED HOOK一个函数WebView.setWebContentsDebuggingEnabled,并强制设置为True。大概就是这样:
![EXG(0]PM)DLACKNF38HXN$F|690x322](upload://dnf5voTfd0yfHwK8FPNVoTegchV.png)

iOS目前查询到的资料主要是:
1、通过MAC上的safari可以连接iOS手机里面的safari调试
2、编译安装自己的APP调试自己WebView的JS
3、暂时没查询到,调试别人APP的JS的说法。

反正也是用的越狱手机,猜测可能类似Android存在一个Webview的函数可以控制,如果hook修改设置一下参数可能就能调试了。

现在有点疑惑这种控制调试的函数叫什么。或者说如果有其它思路也一下?

monkeydev重签下就可以通过safari连上调试了

1 个赞

:joy:谢大神,这样正好就是“自己编译”的版本了。。。

不过以前有没有调研过,这种DEBUG编译和RELEASE的差了什么组建还是啥玩意,会导致无法被safari的检测到然后调试呢?

不是debug release的问题。而是少了个权限。
com.apple.private.webinspector.allow-remote-inspection

您好,能半路改这个权限吗?

不能。应该

我是不想重装应用,因为有时候刚好数据很难复现,如果重新签名在安装数据就没了

我后来觉得可能是get-task-allow导致的,不过你说的这个也是ldid加的?

半路改不了啊,应该是拿ldid改或者Monkey说的办法了

不我个人的思路就是不去动系统的东西

是啊所以稳妥起见就是静态改entitlement了,理智上来说patch用户态的系统服务并不是一个永远可行的方案

你不是后面解决了吗? http://bbs.iosre.com/t/tweak-app-webview/11381

对,就是这个,后来我是重打包,因为没有绕过get-task-allow,但是这个作者不错
http://iosre.com/t/tweak-app-webview/11381/14