Как я могу определить, что разбило Mobile Safari?

Мой сайт падает на Mobile Safari, но отлично работает на рабочем столе.

Как я могу определить, почему он сбой?

Ответ 1

Что вы можете сделать, когда Safari неожиданно открывает ваш сайт:

1. Отладка консоли Safari

Используйте панель отладки Safari. Включите ваш iPhone: Настройки- > Safari- > Дополнительно- > Отладка консоли = включена.

Для меня это говорит

  • 2 ошибки HTML в строке 6 (значение аргумента Viewport "ширина устройства" для ключа "ширина" не распознано и значение аргумента Viewport "нет" для ключа "пользовательский масштабируемый" не распознан.)
  • 2 подсказки HTML также n Строка 6.

Консоль отладки будет показана при следующей проверке вашей веб-страницы с помощью Safari.

2. Веб-инспектор (от iOS 6.0)

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

Используя IOS Simulator, я обнаружил, что для этого конкретного сайта все версии iOS, которые я имею, 5.0, 5.1 и 6.1, правильно запускают страницу с сбоем страницы, но на устройстве (iOS 5.0.1) все еще сбой.

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

3. Использование консоли конфигурации iPhone Configuration

Вы можете отключить Apple iPhone Configuration Utility, после чего вы сможете получить доступ к своей мобильной консоли во время теста Safari.

Проверка вашего сайта Я вижу пару предупреждений памяти, которые в конечном итоге приводят к сбою Safari.

4. Используйте функцию отладки Xcode

С помощью Xcode вы также можете получить доступ к консоли устройства (Window- > Organizer- > Devices tab- > Console).

В вашем случае на консоли указано следующее:

Apr 30 10:15:18 unknown kernel[0] <Debug>: launchd[2489] Builtin profile: MobileSafari (sandbox)   
Apr 30 10:15:38 unknown MobileSafari[2489] <Warning>: Received memory warning. 
Apr 30 10:15:39 unknown SpringBoard[15] <Warning>: Received memory warning. 
Apr 30 10:15:50 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created 
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilephone[0xb2a4]) Exited: Killed: 9
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilesafari[0xf755]) Exited: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Phone' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Safari' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:52 unknown ReportCrash[2491] <Error>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2013-04-30-101552.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0

4b. Используйте средство отладки Xcode, инструменты

Еще один сложный способ проверить, что происходит с использованием инструментов.

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

Ответ 2

У меня была успешная отладка сбой, сделав следующее:

  • подключитесь к консоли телефона, используя xcode
  • найти сбой в консоли, в моем случае выглядит так:

    Sep 2 17:16:21 Edwards-iPhone ReportCrash [7093]: сохраненный отчет в /Library/Logs/CrashReporter/JetsamEvent -2015-09-02-171621.ips

  • Затем перейдите в раздел "Диагностика" в настройках (настройки > конфиденциальность > диагностика и данные об использовании - на ios 8.4, в другом месте в других версиях) и найдите файл сбоя.

Это устраняет необходимость угадывать, на каком сбое сообщается то, что вы испытали.