2016-07-27 94 views
5

使用iOS,Action App Extension,可以针对HTML运行JavaScript代码。但是,经过Google的一些搜索之后,我还没有找到任何解释如何在这种情况下进行调试的文档(插入断点或简单地添加/查看控制台输出语句)。请帮忙。谢谢!如何在iOS动作应用程序扩展中调试Javascript

+0

我想如果我不能这样做,有没有办法在移动Safari浏览器中模拟/运行/调试我的JavaScript文件?谢谢。 –

+0

在stackoverflow上创建一个相关的问题[调试外部Javascript对移动Safari中的文档](http://stackoverflow.com/questions/38624571/debug-an-external-javascript-against-documents-inside-mobile-safari) –

+0

我正在寻找同样的事情。还没有发现任何东西:/ –

回答

1

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

  • 确保设备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 - 维基百科”。

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

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

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

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

你当然也会捕获未捕获的异常。

这个官方文档是here

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

+0

这与您在iOS上调试任何JavaScript代码的方式相同。我用Meteor/Cordova应用程序完成了类似的事情。在这种情况下,你不需要从Xcode开始。 –

+0

为什么你只有一个upvote?:| –

+1

可能是因为我在发布后几个月回复。这很好,谢谢。 –

相关问题