在 macOS 应用程序中使用 Safari 调试 JavaScriptCore

Debugging JavaScriptCore with Safari, in macOS app

我为 OSX 制作了一个简单的 Hello World 应用程序,它使用 C-APIs 创建上下文组、上下文、运行脚本并调用我自己的函数,一切都很好。

但我不能做的是让我的 app/JSContext 出现在 Safari 的可检查应用程序列表中。 (它只是空的)

我不知道这是否应该是自动的,或者我是否需要在上下文、VM 等中启用某些东西(在文档中找不到任何关于 debuggable/inspectable 的引用,headers)

这个项目声称这样做(基于 wiki 中的屏幕截图),但是查看代码我看不到任何特定的配置选项、设置等 https://github.com/kasper/phoenix

这个答案表明 iOS 应用程序需要签名...这对 macOS 应用程序来说也是必需的吗? Safari: no Inspectable applications

使用 Xcode 10B61,Safari 11.1.2,OSX 10.13.6

有人设法使用 Safari 调试 macOS 应用程序吗?

我用我的 Apple Dev 帐户签署了该应用程序(在我发布此问题后我出于不同的原因续订了它)并且它出现在 Safari 中,(并且中断,让我调​​试)并且运行良好!

如果您希望已发布的应用程序(即 Xcode 的调试器中的 运行 不可用)能够在 运行 JSC 代码时使用 Safari Web Inspector 调试器,您需要将 com.apple.security.get-task-allow 添加到您的权利中。

警告:您无法获得具有由 Apple 公证的权利的应用程序。

这意味着您可能需要同时交付未经 JS 调试的经过公证的应用程序,以及未经公证且允许调试的应用程序。