为什么 Web Inspector 显示“没有可检查的应用程序”?

12

背景

我们公司最近转向了应用程序开发。虽然在Android上进行开发和Q/A测试相对来说很容易,但是iOS却非常麻烦。

任务涉及查看我们应用程序的页面源代码(其中包括自定义浏览器)。我听说Web Inspector是一个很好的工具,所以我选择了它。

问题

  • 首先,Web Inspector之前能够检测到自定义浏览器。
  • 但是相当频繁地,Web Inspector的菜单会提示“没有可检查的应用程序”。
  • 这发生在完全相同版本的应用程序中,而此前是可以运行的。
  • 似乎根本没有任何触发器;昨天Web Inspector还能与自定义浏览器一起使用,然后过了几个小时(期间可能我已经断开并重新连接了iPhone),它就不再工作了。

尽管我已经苦恼了一个星期,但我还是没能找出原因。

观察结果

我的iPhone 4S运行着iOS 7.0.4。我的Mac Mini安装的是Safari 7.0。

在手机选项中:

  • 在iPhone菜单中,已经打开了Web Inspector
  • 所有隐私模式都被关闭-Do Not Track, Block Cookies等(这个问题)。
  • 手机上的Javascript已经打开。

在我的Mac Mini上的Safari - 已启用开发菜单

更多观察结果

  • Web Inspector能够检测到iOS Safari。

那么,我该如何解决这个问题?可能的原因是什么,有什么解决办法呢?


遇到相同的问题。 - Lane
7个回答

16

我遇到了同样的问题,原因是我使用的是iOS 8系统。通过将Safari浏览器更新至7.1版本后问题得到解决。


7

iOS 9升级(使用OSX El Capitan):

在您的移动设备中,进入“设置”->“Safari”->“欺诈网站警告”=关闭 [默认为开启]


5

为了让它能够正常运作,我需要进入 iPhone 的设置 -> Safari > 高级,并启用 Web 检查器 选项。(iOS 9.1)


2
正如问题中所提到的,Web Inspector 已经在 iPhone 设置中启用了。 - Vish

4

我曾经遇到过完全相同的问题。通过清除移动Safari菜单中的Cookie和历史记录,我成功解决了这个问题。此后,它出现在Mac开发菜单中。

希望这也能解决您的问题。


1
谢谢你的回答。我之前确实尝试过那个方法,但是没有起到作用。 - Vish
我曾经遇到一个问题,有时候我可以调试我的应用程序,而有时候却不能。每次都需要重新启动我的 Mac 才能启用调试。这似乎解决了我的问题。 - leonprou

3

这可能是一个疏忽,有人忘记将iOS 8版本的Mobile Safari包含在可检查的应用程序中。请跟上步伐。我能够将我的iPad连接到我们使用Yosemite Beta的MacMini上。

另外,我发现Yosemite Beta中的Web Inspector检查效果不佳。我可以在JavaScript中设置断点,但在检查面板中无法进行检查。控制台确实报告了正确的信息。不要被像我一样的人欺骗!要检查此Web Inspector中某个内容的值,您必须通过控制台访问该值,键入变量,它将返回其正确结果。


是的,它一直告诉我没有可检查的应用程序,即使我已经清除了所有的cookies。 - Ardo K
3
结果发现我只需要将Mac上的Safari更新到7.1版本,就可以对运行iOS 8的iPad进行调试。 - Liam
谢谢Liam,我做的第一件事是更新OSX并检查其他更新,但没有更新,但我仍然停留在7.0.6!...再次检查,更新就在那里。更新到7.1,再次清除移动浏览数据,一切正常! - Shwaydogg
所以,苹果在几天后通过更新 Mavericks 版本的 Safari 来解决了这个问题。 - Quadrivium

1

恰好,对我有效(可靠的)的解决方案是:

  • 在Xcode中本地从源代码构建应用程序
  • 通过USB将其部署到iPhone上

由于某种原因,当以这种方式启动应用程序时,Web Inspector可以可靠地工作。我无法弄清楚为什么,但它确实有效。欢迎评论。


我怀疑你的Mac上安装了XCode 6.x.x,并且在运行时使用它自己的检查器或允许检查。 - Quadrivium
1
据我所了解,当使用分销商证书对ipa进行签名时,即使启用了Web检查器,所有嵌入式Web视图也将被禁用。如果使用开发人员证书进行签名(在xcode中从源代码部署时会这样做),则可以正常工作。 - Claude Houle
@Shadow_x99 谢谢你...这可能是我的问题。你知道有什么解决方法吗?现在我遇到了一个问题,似乎只有在通过分发证书部署时才会出现错误,而我无法检查它以查看发生了什么。 - Mickey Sly

0

这里有一个可能性,因为我自己刚遇到了这个问题...

你的浏览器是否设置为私密浏览?

如果是的话,请关闭它!在私密浏览模式下无法使用检查器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接