为什么 Safari 在使用 iOS6设备进行远程调试时显示“无法检查的应用程序”?

当我连接我的 iOS6设备进行远程调试以测试我的移动 web 应用程序时,Safari 开发菜单显示我的设备名称为“无法检查的应用程序”。

我已经在我的设备 Safari 设备设置中启用了 Web 检查器 ON。

为什么会这样?

73084 次浏览

If you have private browsing enabled in Settings > Safari, you will not be able to use remote debugging. If you turned off private browsing, it will work like a charm.

I recently had problems debugging a UIWebView in desktop Safari – and it turns out the problem was with my Xcode configuration for the app. The most recent build had been provisioned for production, rather than for Testing. After re-building the app for Testing, it showed up once more in the Safari Debug menu :-)

A few things to try:

  1. On your iPhone/iPad, double-tap the Home button to bring up the list of running apps, close Safari (or appropriate Web App), then reopen

  2. Quit/reopen Safari on the Mac

  3. Unplug/plug back in iOS device

As a side note, I can attach to Safari with private browsing enabled on the iOS device.

I had the same issue eventually I understand that the problem is with the Xcode settings.

To solve this issue:

Enable Safari Debug

First of all verify that on the device you have enabled the Safari debugger (on the device go to: Settings >> Safari >> Advanced >> Enable Debug; or iOS 9+ turn on: Settings >> Safari >> Advanced >> Web Inspector). If you've done this you will see your device in Safari >> Develop. if you see your device but you don't see your application under it, instead "no inspectable application", check your Xcode settings.

Xcode

1. Change Build Configuration:

Right click on the project name (under the play/run button) and select 'Edit Schema...', in the 'Edit Schema' window under 'Run' tab change the 'Build Configuration' to 'Debug' (instead of 'Release')

2. Change the Code Signing:

Click on the project name in the files tree, to display the project settings. Select the 'Build Settings' tab. Change the 'Provision Profile' to 'Automatic'. Change the 'Code Sign Identity' to 'iOS Developer'.

Note that changing the code signing will prevent you from release versions for production, however you will be able to debug your application.

An update for iOS 9 (using OSX El Capitan):

On your mobile device under Settings -> Safari -> Fraudulent Website Warning = OFF [default = ON]

I also needed to re-connect the iPhone after changing this setting

This solved it for me.

In my case, I had Safari 10.0.2, running on El Capitan and when trying to run apps on the Simulator (iphone 7), I did not even have the Simulator option in the Safari's Develop menu. Updating to Sierra, solved the problem.

I resolved the issue with rebuilding the app with new key - certificate (p12) and provisioning profile. My developer account and certificates expired, so it just stopped recognizing my PhoneGap app in Developer menu.

If you just installed XCode 9, do not forget to install Safari 11, or you will see "no inspecable applications"

I was trying to get this working via the iOS simulator and none of the previously stated answers worked, even though I tried them all. Instead, running the following worked:

npm install -g ios-sim

After that, once I started the application, the simulator appeared under the Develop menu on Safari.

I had the same problem with Safari 11.0.3 on High Sierra. The only think that worked for me is installing Safari Technology Preview from here.

Make sure you aren't connected to a VPN.

After all the answers here failed to resolve the issue for me, I figured out that installing the Safari Technology Preview version worked well.

Install this beta of Safari, launch it, enable developer tools in advanced preferences, and your phone will appear in the develop bar (provided a page in mobile Safari is open).

I went to Settings > Safari > Advanced and toggled the Web Inspector switch from on to off to on again. That did it for me!