如何从 Xcode 控制台输出 JavaScript 的 log?(如何从视频中导出音频)

网友投稿 1098 2022-09-11

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

如何从 Xcode 控制台输出 JavaScript 的 log?(如何从视频中导出音频)

1、第一种,使用桌面浏览器调试。大多数现代浏览器都有功能强大的调试器,可以通过 console.log() 方法进行调试。 2、如果桌面浏览器不能追踪到这些 log,我们可以从 Xcode 启动 iOS 模拟器,运行我们的 app。然后,启动 Safari 选择 Develop > iPhone Simulator > tieba.baidu.com

3.如果你不能在 iOS 模拟器上复现问题,也不能从运行在 iPhone 真机上的 APP 获得 console.log(),要调试 HTML 或者 JavaScript 是非常困难的。这篇文章就教你怎么用 NSLog 输出 JavaScript 中的 log。

把 JavaScript Log 转化成 Application Log

接下来,创建一个 NSURLProtocol 的子类 WebConsole

/WebConsole.h@interface WebConsole : NSURLProtocol+ (void) enable;@end//WebConsole.m@implementation WebConsole+ (void) enable { [NSURLProtocol registerClass:[WebConsole class]];}+ (BOOL) canInitWithRequest:(NSURLRequest *)request { if ([[[request URL] host] isEqualToString:@"debugger"]){ NSLog(@"%@", [[[request URL] path] substringFromIndex: 1]); } return FALSE;}@end

通过 canInitWithRequest 检查截获的请求,如果请求的 host 是「debugger」就用 NSLog 把这个请求的 「path」(也就是 JavaScript 的 log)输出。最后我们只需要在 UIWebView 加载请求之前调用 enable,注册这个类,就能够通过拦截 UIWebView 发起的请求打印 JavaScript 的 log 了。

- (void)viewDidLoad { [super viewDidLoad]; [WebConsole enable]; NSError *error = nil; NSString *htmlStr = [NSString stringWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"html"] encoding:NSUTF8StringEncoding error:&error]; [self.webView loadHTMLString:htmlStr baseURL:nil];}

上一篇:Spring Boot 性能优化(springcloud五大组件)
下一篇:PHP 7.0 安装使用与性能监测!(php文件用什么软件打开)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~