如何在IOS Action App Extension中调试JavaScript?

时间:2016-07-27 17:09:06

标签: javascript ios

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

1 个答案:

答案 0 :(得分:3)

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

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

  • 在桌面上启动Safari,确保Show Develop menu in menu bar中已启用Preferences

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

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

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

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

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

当然,你也会发现未捕获的例外情况。

官方文档为here

请务必从生产代码中删除debugger;行。