Веб-инспектор Safari продолжает отключать

У меня Safari 8.0.6 с iOS 8.3 на моем iPad, при отладке через Web Inspector на моем Mac (10.10.3) соединение продолжает отключаться (я не вижу имя устройства в меню "Разработка" при отключении), но могу возобновить, если я выйду из сафари с последующим повторным запуском, тогда я смогу снова обновить и проверить удаленно.

Ответы

Ответ 1

Есть несколько вещей, которые можно попробовать:

1. Тест на симуляторе Xcode:

Откройте симулятор iPhone в Xcode и отладьте его с помощью Safari Web Inspector.

Sidenote: Возможно, вам нужно загрузить предварительный просмотр технологии Safari

2. Сбросьте настройки местоположения и конфиденциальности на вашем устройстве.

Settings > General > Reset > Reset Location & Privacy

3. Отладка на реальном устройстве

С этой конфигурацией, кажется, работает прямо сейчас.

iPhone X, iOS версия 12.1.3 macOS Mojave Версия 10.14.2 (18C54) Safari, версия 12.0.2 (14606.3.4)

Изменить 2019.08.13

Настройки → Safari → Дополнительно → Проверьте, включена ли веб-информация.

Это было внезапно отключено, и я не мог соединиться через Веб-инспектора. После включения это сработало.

Для других устройств/версий, пожалуйста, читайте дальше (возможно, вы можете уменьшить размер сборки).


ОБНОВЛЕНИЕ: 2018.09.20

@Чет выяснил, что веб-инспектор продолжает отключаться для слишком больших файлов JS и файлов карт

fooobar.com/questions/333457/...

Проблема на Github:

https://github.com/google/ios-webkit-debug-proxy/issues/275

https://github.com/google/ios-webkit-debug-proxy/issues/274

Я могу подтвердить это на реальном устройстве с производственной сборкой (файлы 1,8 МБ + 2,4 МБ), веб-инспектор Safari всегда остается на связи.

enter image description here

Поскольку для разработки сборки это не так:

enter image description here


Раньше мой веб-инспектор очень редко работал и часто просто переставал работать - но все еще был открыт. После обновления сафари веб-инспектор открывается и закрывается немедленно. Если вы столкнулись с такими проблемами..

Это будет работать:

Шаг 1. Получите последнюю версию браузера Safari

Safari: 11,1 (12605.1.33.1.2)

https://developer.apple.com/safari/download

macOS Sierra и OS X El Capitan (я предполагаю, что macOS high Sierra также поддерживается)

Может быть, вам нужно скачать Safari Technology Preview


Шаг 2. Сброс вашего местоположения и настроек конфиденциальности

На вашем устройстве перейдите по адресу:

Settings > General > Reset > Reset Location & Privacy

Источник: https://forums.developer.apple.com/thread/87181


Шаг 3. Подключите ваше устройство

Откройте Safari на OS X Если вы подключили устройство iPhone с помощью USB-кабеля, сначала отключите его. Теперь подключите его.

В OS X Safari перейдите по ссылке:

Разработка> Имя устройства> Подать заявку на разработку

Теперь на вашем телефоне есть вопрос разрешения. Выберите доверие, и теперь вы можете выбрать открытую вкладку на своих устройствах Safari и отладки.


Удачной отладки!

Теперь веб-инспектор остается на связи.

Ответ 2

Большинство ответов, перечисленных здесь, помогли мне некоторое время, но через несколько часов они также перестали работать, и моя веб-консоль Safari снова отключается при открытии.

Другие несколько вариантов, которые помогли мне:

Вариант 1 - Очистить кэш от Safari

Safari on MacOS → Develop → Empty Cache

Вариант 2 - Очистить доверенные компьютеры

On iOS Device → Settings → Developer → Clear Trusted Computers затем снова подключите USB-кабель и повторите попытку отладки.

Вариант 3 - Сделать отладчик дураком (по состоянию на 14 января 2019 года)

Это решение работает давно. Поскольку это проблема, связанная с соединением между iOS и Mac, я открыл консольное приложение и просто оставил свой iPhone выбранным. (Это как-то держит мое устройство iOS подключенным к моему Mac)

Тогда открытие консоли разработчика в Safari работало нормально для меня без отключения.

Ответ 3

Звучит странно, но это может происходить из-за того, что батарея полностью заряжена, вызывая отключение: https://forums.developer.apple.com/thread/92290

Разъединение, кажется, происходит, когда батарея Iphone полностью заряжена. (Так что на данный момент мы включаем вспышку и камеру, чтобы убить батарею во время проверки...)

Ответ 4

У вас есть много фоновых приложений, работающих на вашем iPhone? Убей их и попробуй еще раз.

Мы показали эту проблему разработчикам Apple на WWDC, и они подозревали, что это связано с ограничениями памяти на iPhone. Конечно же, убийство большинства наших фоновых приложений решило эту проблему для нас.

Ответ 5

Это необходимо только для физических устройств. Safari может принудительно отключить физические устройства, если батарея устройства полностью заряжена. ("Полная батарея? Ну, тогда давайте просто отсоединим вас, так как вам больше не нужно заряжаться - и ваш сеанс отладки тоже начнется...")

Вам нужно выбрать Подключиться через сеть в Develop > [device], а затем прикрепить ваш отладчик к странице, которую вы хотите отладить. Если у вас нет меню Разработка в Safari, перейдите к Safari > Preferences > Advanced и выберите Показать меню "Разработка" в строке меню.

enter image description here

Если это не работает, вы можете сначала попытаться обновить ОС /Safari через App Store.

Если что-то все еще ломается, отключите устройство iOS. Перейдите на свое устройство iOS в "Настройки"> "Safari"> "Веб-инспектор", выключите и снова включите его. Сила, выходящая из Сафари. Повторно подключите ваше устройство iOS, снова запустите Safari и снова подключите ваше устройство iOS через Safari> Меню "Разработка".

Ответ 6

Не могу сказать, что у меня есть решение, но шаг в правильном направлении.

Я попытался использовать ios-webkit-debug-proxy, чтобы использовать инструменты разработки Chrome вместо инструментов разработки Safari.

Обратите внимание, чтобы заставить его работать, я могу обновить мою iOS до последней версии 11.4.1 и MacOS 10.13.65, а затем переустановить последние версии:

brew update
brew install ios-webkit-debug-proxy
brew reinstall --HEAD libimobiledevice
brew reinstall -s ios-webkit-debug-proxy

ios_webkit_debug_proxy

После запуска ios_webkit_debug_proxy я смог попробовать подключиться через chrome://inspect и он сразу же снова отключился:

Listing devices on :9221
Connected :9222 to Chet Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)
Invalid packet header 0x1ffffff91ffffffa0ffffff9d == .... == 26321053
Disconnected :9222 from Chet Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)

Тем не менее, у нас есть подсказка! Invalid packet header. Звучит как ошибка более низкого уровня где-то. Не уверен, где представить это, но хотя...

Ответ 7

Это долго мучило меня из-за очень противоречивого поведения, вот несколько вещей, которые я нашел, что помогло, я также написал пост в блоге по этому вопросу здесь.

  1. Обновите и Mac Safari, и IOS. Я обнаружил, что после установки последней из двух версий, которые он начал работать для меня, между Safari может возникать отладка несовместимости.

  2. Убедитесь, что веб-инспектор в ios включен. Известно, что этот параметр можно отключить после обновления, выберите "Настройки"> "Safari"> "Дополнительно"> "Веб-инспектор".

  3. Проверьте порт, к которому вы подключены - мой подключен к дешевому хабу/через яблочную клавиатуру/хаб-монитор и обнаружил, что подключение непосредственно к mac работает намного лучше.

  4. Вы используете кабель хорошего качества? - Я обнаружил, что более качественные/официальные кабели, которые не изношены, имеют лучшую надежность при отладке.

  5. Другие заметные наблюдения - другие люди отметили, что проверка того, что куки включены в сафари, включение частного режима и попытки, пока открыт Xcode, повлияли на надежность этого, хотя я сам не видел этого, это может помочь другим попробовать.

Ответ 8

Волшебное решение сработало для меня:

1) перезагрузите свой MAC
2) перезагрузите свой Iphone
3) работает

Ответ 9

MacOS Mojave/Catalina Solution

Для меня проблема началась сразу после того, как я обновил MacOS на Mojave, это могло быть упомянуто где-то выше, но мне просто нужно было загрузить новое приложение "Safari Technology Preview", созданное для Mojave.

Страница загрузки Safari

https://developer.apple.com/safari/download/

Прямая загрузка для Мохаве

https://secure-appldnld.apple.com/STP/041-71285-20190604-6d0dcb17-07e5-40a0-b418-dba732cefe64/SafariTechnologyPreview.dmg

Ответ 11

Сначала мне помогло закрытие XCode.

Ответ 12

Я знаю там уже много ответов, но я хотел написать, потому что ни один из них не работал для меня только сейчас. Но батарея моего телефона была в "низком режиме"... но так как я подключил ее к разработке, я не думал, что это было большим делом. Но, зайдя в настройки на моем телефоне и отключив режим низкого заряда батареи, решил мою проблему. Теперь сафари не отключается.

Просто хотел опубликовать это в случае, если кто-то сталкивается с этим с низким уровнем заряда батареи.