Я разрабатываю приложение, используя платформу приложений XDK от Intel. При создании моего приложения для iOS я заметил, что клавиатура может привести к краху приложения при определенных обстоятельствах. Я смог создать демо-приложение с тремя входами, которые могут легко воспроизвести сбой. После общения с Intel я не уверен, что это проблема с их кодом или что-то не так с webview, в котором мое приложение встроено.iOS Webview Keyboard Crash
Чтобы воспроизвести авария, я создал пустое приложение со следующим html на странице.
<input type="text">
<input type="time"></input>
<select>
<option value="1">Option1</option>
<option value="2">Option2</option>
<option value="3">Option3</option>
</select>
Чтобы затем вызвать сбой, я выполняю следующие действия.
- Нажмите ввод текста и введите текст
- Старт повторно нажав ввод времени, или выберите вход
- Если ввод текста подчеркивает, что это текст, нажмите обратно в ввод текста, чтобы получить курсор снова и перезапустить. Если клавиатура ввода текста закрывается, начните снова
Странно, что при фокусировке входа времени или списка выбора клавиатура iOS остается открытой. Это происходит только тогда, когда открываются и клавиатура, и другой вход, что приложение аварийно завершает работу. Я тестировал сафари на iOS, и этого не происходит.
У кого-нибудь было подобное впечатление от веб-представления? Кто-нибудь может протестировать это в приложении phonegap/cordova?
UPDATE
Это проблема с прошивкой UIWebView. Я смог воспроизвести сбой на сборке Intel XDK без использования JavaScript и на сборке PhoneGap без JavaScript. Вам даже не нужно вводить текстовое поле, как я сначала подозревал, просто нажмите между входами быстро. Я также только смог воспроизвести это на iPad 2, я не смог вызвать крах на iPad Air.
Я зарегистрировал ошибку с Apple, и опубликует ответ, если они способны обеспечить исправление
UPDATE
получил следующий ответ от яблока.
Engineering определил, что ваше сообщение об ошибке (19218381) является дубликата другого вопроса (18487570) и будет закрыто.
Возможно, нет возможности просмотреть другую проблему, хотя я не могу выяснить, было ли это разрешено или были обходные пути. Спасибо Apple! Я попытался найти ошибку на OpenRadar, но просто нашел еще один билет с той же проблемой, который также был закрыт как дубликат.
любое обновление об ошибке из яблока или обходные пути? – Will
Я получил следующий ответ: «Инженерия определила, что ваш отчет об ошибке (19218381) является дубликатом другой проблемы (18487570) и будет закрыт».Кажется, мне не удалось просмотреть другую проблему, поэтому я почти отказался от – user1573618