如何在iOS动作应用程序扩展中调试Javascript
使用iOS,Action App Extension,可以针对HTML运行JavaScript代码。但是,经过Google的一些搜索之后,我还没有找到任何解释如何在这种情况下进行调试的文档(插入断点或简单地添加/查看控制台输出语句)。请帮忙。谢谢!如何在iOS动作应用程序扩展中调试Javascript
这并不难,尽管最近我遇到了连接到模拟器时出现的页面问题。在那种情况下,我最终直接使用手机。 (显然,你需要启动桌面Safari中的iPhone模拟器已经开始检查“远程”模拟器课程后)
- 确保设备
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 - 维基百科”。
您现在正在桌面上调试该设备页面。
有'自动启动调试器等'的选项,但我发现,当我尝试这些我的代码不会执行。
您不能在应用程序扩展名为JavaScript中放置调试器语句,因为它只有在您的应用程序扩展启动之前才会被注入。相反,我会将debugger;
声明添加到我的应用扩展程序JavaScript代码中,该代码将在debugger;
语句中暂停应用程序扩展JavaScript代码中的调试程序。
通过在Share
菜单中选择它来启动您的应用程序扩展,设置您感兴趣的任何其他断点,然后点击调试器上的继续按钮。
你当然也会捕获未捕获的异常。
这个官方文档是here。
确保您从生产代码中删除debugger;
行。
这与您在iOS上调试任何JavaScript代码的方式相同。我用Meteor/Cordova应用程序完成了类似的事情。在这种情况下,你不需要从Xcode开始。 –
为什么你只有一个upvote?:| –
可能是因为我在发布后几个月回复。这很好,谢谢。 –
我想如果我不能这样做,有没有办法在移动Safari浏览器中模拟/运行/调试我的JavaScript文件?谢谢。 –
在stackoverflow上创建一个相关的问题[调试外部Javascript对移动Safari中的文档](http://stackoverflow.com/questions/38624571/debug-an-external-javascript-against-documents-inside-mobile-safari) –
我正在寻找同样的事情。还没有发现任何东西:/ –