【问题标题】:Debugging JavaScriptCore with Safari, in macOS app在 macOS 应用程序中使用 Safari 调试 JavaScriptCore
【发布时间】:2018-12-09 19:31:49
【问题描述】:

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

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

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

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

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

使用 Xcode 10B61、Safari 11.1.2、OSX 10.13.6

有人用 Safari 调试过 macOS 应用吗?

【问题讨论】:

  • 该项目作者的一些跟进; twitter.com/kasper/status/1080507639451340800
  • I was wondering how to get it working myself as well, but it just automatically started working after building with some specific Xcode 9 version. The app is indeed signed with a Developer ID certificate, but it doesn’t seem to be clear whether this is a requirement or not.

标签: macos javascriptcore


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    警告:您无法获得具有经 Apple 公证的该权利的应用。

    这意味着您可能必须同时提供一个没有 JS 调试的公证应用程序和一个允许调试的没有公证的应用程序。

    【讨论】:

      猜你喜欢
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2020-04-24
      • 2021-08-27
      • 2018-03-15
      相关资源
      最近更新 更多