首页 > 解决方案 > 是否可以在 Safari 上检查调试模式发布的 iOS 应用程序?

问题描述

Ref 1. 在 WWDC2016 中,Apple 宣布了关于 web 检查器的权利。

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

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

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


参考 2. Webkit.org 指南。

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


根据这些参考资料,我使用“com.apple.webinspector.allow = 1”创建了一个授权文件,并将其添加到我的项目中。

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

之后,发现一个构建错误“Provisioning profile doesn't include webinspector allow entitlement”。当我将“任何 SDK”放在调试路径下方时,它就消失了。

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

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

我试过Xcode 12.4,safari的最新版本,safari技术预览也。

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

标签: iosxcodesafariweb-inspector

解决方案


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

您不必添加任何权利 - 您提到的权利仅适用于 macOS 应用程序。

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

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

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


推荐阅读