gpt4 book ai didi

iphone - 如何查看 UIWebView loadHTMLString :? 中的错误

转载 作者:行者123 更新时间:2023-12-03 19:14:20 25 4
gpt4 key购买 nike

如果 Apple 在 loadHTMLString 期间遇到错误,它们会将错误抛出到单独的线程上,没有堆栈跟踪(在 Xcode4 中),并且不会输出到控制台。

您如何监听这些错误、调试它们并最终对它们使用react?

(仅供引用 - 我使用 loadHTMLString 因为我需要加载本地和远程资源的混合,并且此方法提供了唯一简单的方法来做到这一点,AFAIAA)

编辑:...抱歉,需要明确的是:Apple 可能会遇到不同的错误。例如,如果它在尝试加载嵌入资源(例如 CSS 文件)时遇到错误,它不会将其视为“页面加载失败”,事实上它会报告页面加载成功。

恕我直言...这是正确的行为:如果 HTML 解析器能够从错误中恢复,我不希望“页面加载失败”。但错误仍然很重要 - 它们告诉我们页面渲染的原因,例如没有背景图像,或图像损坏。

最佳答案

出于调试目的,您可以附加 Safari Web Inspector。为此:

  1. 确保您安装的 Safari 版本支持 SWI - 因此至少需要 Mac OS X 10.7.4 上的 Safari 6。
  2. 在您用于测试应用的设备(或模拟器)上,启用“设置”>“Safari”>“高级”>“Web 检查器”。
  3. 启动 Safari。
  4. 启用 Safari > 首选项 > 高级 >“在菜单栏中显示“开发”菜单”。
  5. 运行应用,当您正在使用的网页 View 显示时,转到 Safari > 开发 > [设备名称或“iPhone 模拟器”] > [网址 - 它将列在应用名称下]

它将显示页面已加载哪些静态文件。 (如果您想查看 Javascript 错误,则需要正常附加,在所有异常上设置断点 - 在 SWI 中,而不仅仅是在 Xcode 中! - 然后选择根级页面并使用 CMD+R 重新加载它。)

据我所知,以编程方式执行此操作的唯一方法(例如,如果您想重试失败的页面加载)是使用 NSURLProtocol 子类。

关于iphone - 如何查看 UIWebView loadHTMLString :? 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6255032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com