UIWebView 操作中的 NSLog(或其他监控事件)

Posted

技术标签:

【中文标题】UIWebView 操作中的 NSLog(或其他监控事件)【英文标题】:NSLog (or other monitoring event) within UIWebView operations 【发布时间】:2013-10-24 23:27:15 【问题描述】:

我对 ios 有一定的经验,但我是第一次在这个项目中使用 UIWebView

我想知道,有没有办法在 Xcode 中逐行监控 UIWebView 的内部操作?也许在那里放一些 NSLogs 或一些断点?委托方法涵盖了加载前和加载后的内容,但似乎没有任何接口可以实际跟踪 WebView 本身在加载页面时所做的事情。

具体来说,我希望能够在下载和存储网页中的每张图片时跟踪应用的行为。我在 iOS 7 上无法使用图像时遇到一些奇怪的错误,但我的 php/javascript 发誓一切都很好,并且图像在台式机和 iOS 6 上看起来都很好。我越来越确定这个问题与 WebView 本身有关,(对related question 的回答似乎表明它可能与不同线程上的 WebKit 调用有关),我很想断点我的方式,或者 NSLog 一些关键点或其他东西,只是排除一些东西。

这样的事情可能吗?还是UIWebView 是一个只有结束后才能听到的私人聚会?

【问题讨论】:

【参考方案1】:

它是在 Mobile Safari 中中断还是仅在您的应用程序中中断?

您可以将 OS X 上的 Safari 网络检查器指向在 iOS 模拟器甚至 iOS 设备上运行的 Mobile Safari(必须在设置中启用)。

这将允许您查看所有 HTTP 标头等。

另一种选择是使用 wireshark 之类的东西来监控 TCP 流量,但这要复杂得多。

http://webdesign.tutsplus.com/tutorials/workflow-tutorials/quick-tip-using-web-inspector-to-debug-mobile-safari/

【讨论】:

我已经使用了 Safari 网络检查器,但我的问题是:这是实际存储在 iPhone 上的内容的表示,还是只是对相同内容的一瞥页?我正在追逐的错误与 iPhone 处理文件的方式有关,因此,如果网络检查器只是转到同一页面(看起来是这样),那将无济于事......

以上是关于UIWebView 操作中的 NSLog(或其他监控事件)的主要内容,如果未能解决你的问题,请参考以下文章

检测 UIWebView 中的文本亮点

使用 JavaScript 将 CSS 注入 UIWebView

全屏UIWebView隐藏状态栏

js 怎么监听到页面关闭或页面跳转事件

UIWebView 错误 -999 [重复]

uiwebview加载中文URL