使用safari对webview进行调试

转载请注明出处,谢谢 :参考链接

开始的时候用reactnative 做了一个项目 但是升级0.40版本感觉有点蛋疼 而且随着苹果对jspatch 封杀(另外项目期也比较紧凑) 随意团队商量下 开始利用网页嵌入的办法先出产品 所以就要开始调试js 想调试 不想什么都麻烦前端 背景到此为止 开始干活 

下面的只测试了模拟器没有在真机上测速过 

环境 :

macOS Sierra 10.12.3

Xcode:Version 8.2.1 (8C1002)

iOS:10.1


在web开发的过程中,抓包、调试页面样式、查看请求头是很常用的技巧。其实在iOS开发中,这些技巧也能用(无论是模拟器还是真机),不过我们需要用到mac自带的浏览器Safari。所以,本文将讲解如何使用Safari对iOS程序中的webview进行调试。

环境信息:

Mac OS X 10.10.1

Xcode 6.1.1

iOS 8.1

正文:

1. 打开模拟器(真机)的开发者模式

【设置】->【Safari】->【高级】->【Web检查器】打开

使用safari对webview进行调试_第1张图片

打开iphone设备中的web检查器

2. 打开Mac上Safari的开发者模式

【Safari】->【偏好设置】->【高级】->【在菜单栏中显示“开发”菜单】勾选

使用safari对webview进行调试_第2张图片

打开Safari中的开发者模式

3. 写一个webview并加载一个网页

#import"ViewController.h"@interfaceViewController ()@property(strong,nonatomic)UIWebView*webView;@end@implementationViewController- (void)viewDidLoad {        [superviewDidLoad];// Do any additional setup after loading the view, typically from a nib._webView = [[UIWebViewalloc] initWithFrame:self.view.bounds];    [_webView loadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:@"http://www.baidu.com"]]];    [self.view addSubview:_webView]; }@end

4. 在模拟器(真机)中打开webview应用,并打开Safari查看网络信息

【开发】->【iOS Simulator】->【正在调试的网站】

注意:必须要webview在加载网页时,打开Safari才可以看到调试模式。

使用safari对webview进行调试_第3张图片

打开Safari中的调试

在弹出的调试窗口中,可以看到当前正在加载网页的各种信息,包括源码、请求头、图片、加载的资源与脚本、控制台输出等。并且它和web前端的调试方式相同,你可以直接修改网页的CSS样式,对网页布局等进行修改,而不用重新运行整个App。

5. 修改web样式

将光标选中到要修改的样式,进行修改后,可以直接在模拟器中看到修改后的效果。

使用safari对webview进行调试_第4张图片

直接修改webview中的样式

当然,webview的调试技巧还有很多,比如Charles工具等。感兴趣的小伙伴可以多研究下。



ps:不知道为什么 有时候不是立即就能显示出来的 开始以为安装了SafariTechnologyPreview 2个 Safari 有冲突 后来 重新换了一台 mini  也是这样 但是在尝试了几次后 还是出来了 不知道是系统的原因还是啥的  有待确认 哪位大侠知道的 可以指导下

你可能感兴趣的:(使用safari对webview进行调试)