是否可以在 safari 上检查调试模式发布的 iOS 应用程序?

问题描述

参考 1. 在 WWDC2016 中,Apple 宣布了 Web 检查器权利。

“为了保护您的应用程序的完整性,我们不会让任何人下载您的应用程序并使用 Web Inspector 来查看您的应用程序。

因此,您需要将此授权添加到应用的授权文件中以进行本地开发。

...您在开发时添加它,然后在发布应用程序时将其取回。然后,一旦您拥有此权利,您的设备和应用程序将显示在“开发”菜单中,您可以附加到它。而且很简单——将 Web Inspector 连接到您的 jscontext 和 WebView 就是那么容易。”


参考 2. Webkit.org 指南。

启用 Web Inspector 后,通过物理电缆或在 Xcode 中配置无线调试后,将 iOS 设备连接到任何 macOS 机器,iOS 设备的名称将作为子菜单出现在 Safari 的“开发”菜单中(和Safari Technology Preview)在连接的 macOS 机器上,允许远程检查:

  • Safari 中的任何页面
  • 添加到主屏幕的网站
  • 开发者配置的应用中的网络内容
    • SFSafariViewController
    • WKWebView
    • UIWebView
    • jscontext

根据这些引用,我创建了一个带有“com.apple.webinspector.allow = 1”的权利文件并将其添加到我的项目中。

代码签名权利 - 调试上写下权利路径。

之后,发现构建错误配置文件不包含 webinspector 允许权利。” 当我将“任何 SDK”放在调试路径下方时,它就消失了。

将构建配置更改为“调试”和存档。

终于通过 FTP 服务器下载并安装了我的应用程序,但仍然无法在 mac safari 上调试 WKWebView。我仍然看到灰色的“没有可检查的应用程序”。句子。

我尝试了 Xcode 12.4,最新版本的 safari,还有 safari 技术预览版。

我是否遗漏了什么或无法检查下载的 iOS 应用程序?

解决方法

只有当 iOS 应用从 Xcode 运行时,您才能在 Safari Web Inspector 中调试 Web 内容。

您无需添加任何权利 - 您提到的权利仅适用于 macOS 应用。

来自https://developer.apple.com/videos/play/wwdc2016/420/?time=351

现在对于 iOS,应用只会在您从 Xcode 构建和运行它们时显示。

但是当我们谈论 Mac 应用时,您还需要做一件事。为了保护您的应用程序的完整性,我们不会让任何人下载您的应用程序并使用 Web Inspector 来查看您的应用程序。 因此,您需要将此授权添加到应用的授权文件中以进行本地开发。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...