【问题标题】:How to debug JavaScript in IOS Action App Extension?如何在 IOS Action App Extension 中调试 JavaScript?
【发布时间】:2018-03-25 19:57:35
【问题描述】:

使用 iOS,Action App Extension,可以针对 HTML 运行 JavaScript 代码。但是,在 Google 上进行了一番搜索后,我没有找到任何解释如何在这种情况下进行调试的文档(插入断点或简单地添加/查看控制台输出语句)。

【问题讨论】:

标签: javascript ios


【解决方案1】:

这并不难,尽管最近我遇到了连接到模拟器时页面显示的问题。在那种情况下,我最终直接使用我的手机。 (显然您需要在 iOS 模拟器开始检查“远程”模拟器会话后启动桌面 Safari)

  • 确保设备上的Settings->Safari->Advanced->Web Inspector 已开启
  • (确保您已从设备信任计算机)
  • 通过从 Xcode 运行并选择 Safari 在您的设备上启动 MobileSafari -- 这不是必需的,但您也可以解码 iOS Objective-C/Swift 代码。您可以手动启动 MobileSafari,它将在桌面 Safari 中可见。

  • 在桌面上启动 Safari,确保 Show Develop menu in menu barPreferences 中处于打开状态。

  • Develop 菜单中,您会看到您的设备名称,例如“BSharer 的 iPhone”
  • 选择设备名称下方的页面名称,例如“en.m.wikipedia.org - Wikipedia”。

您现在正在桌面上调试该设备页面。

有“自动启动调试器等...”的选项,但我发现当我尝试这些时,我的代码不会执行。

您不能在应用扩展 JavaScript 中放置调试器语句,因为在您的应用扩展启动之前它不会被注入。相反,我会在我的应用程序扩展 JavaScript 代码中添加一个 debugger; 语句,这将在 debugger; 语句处暂停应用程序扩展 JavaScript 代码中的调试器。

通过在Share 菜单中选择您的应用扩展程序来启动它,设置您感兴趣的任何其他断点,然后点击调试器上的继续按钮。

当然,您还将捕获未捕获的异常。

官方文档是here

确保从生产代码中删除 debugger; 行。

【讨论】:

  • 这与在 iOS 上调试任何 JavaScript 代码的方式相同。我用 Meteor/Cordova 应用程序做过类似的事情。当然,在这种情况下你不需要从 Xcode 开始。
  • 可能是因为我在这篇文章发布几个月后才回复。一切都很好,不过谢谢。
猜你喜欢
  • 1970-01-01
  • 2015-01-16
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多