Не работает Touch Screen на iPhone? Мы расскажем, как это исправить

Как должен работать touch на iphone. Редко случается, что сенсорный экран iPhone перестает работать или реагировать на прикосновения. Очевидно, что если подобное всё же случится с вашим

Не работает Touch Screen на iPhone? Мы расскажем, как это исправить

Редко случается, что сенсорный экран iPhone перестает работать или реагировать на прикосновения. Очевидно, что если подобное всё же случится с вашим устройством, вы будете касаться экрана, но ничего не будет происходить, при попытке выполнения действия «смахнуть» тоже ничего не произойдёт или на нажатия и другие действия устройство не будет реагировать. Если экран телефона перестанет работать, он перестанет реагировать на касания, вас это будет раздражать.

fix-iphone-touch-screen-not-working

Если сенсорный экран вашего iPhone перестал работать, читайте ниже полезную инструкцию о том, как устранить неполадки и помочь решить данную проблему. Есть несколько причин, в результате которых возникают неполадки с экраном, иногда они связаны с неполадками в программном обеспечении, грязью на экране или повреждением сенсорного экрана или самого iPhone, возможны также и другие причины. Читайте дальше, чтобы узнать больше.

Устранение неполадок зависание сенсорного экрана iPhone

Есть несколько шагов для устранения неполадок неработающего сенсорного экрана на iPhone 8, если ваш iPhone не реагирует на касания и экран, то следуйте рекомендациям, чтобы исправить проблему. Подобная проблема была и на моем устройстве, и эти шаги я использовал, чтобы устранить её, в моей ситуации требовалось просто перезагрузить iPhone и освободить память для работы сенсорного экрана.

1. Очистите экран и вымойте руки

Сначала вам нужно протереть экран вашего iPhone, и вымыть руки (или очистить другое устройство ввода). Если у вас есть чехол или другое защитное устройство для экрана, удалите его, так как возможно именно оно и является причиной не функционирования экрана.

Посмотрите на устройство под хорошим освещением и наклоните его в разные стороны, чтобы убедиться, что на нем нет пятен, масла, жидкости, влаги, крошек или чего-нибудь ещё, что может мешать работе экрана. В солнечную погоду солнцезащитный крем, который может попасть на экран, может стать причиной, по которой экран не работает или работает неправильно. Убедитесь, что экран iPhone чист, очистите его от всего, что может мешать его работе. Протрите его мягкой салфеткой, чтобы удалить всё с экрана, возможно, вам понадобится слегка влажная салфетка (всего лишь слегка влажная салфетка, этого будет достаточно), чтобы обтереть экран.

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

2. Выполнение перезагрузки всей системы

Часто простая перезагрузка устройства не устранит проблему зависания сенсорного экрана, но перезагрузка всей системы является наиболее эффективным методом.

Сделать полную перезагрузку легко, но все зависит от модели вашего устройства:

  • Чтобы принудительно перезагрузить iPhone 7 и версии новее без нажатия кнопки Home: нажмите и удерживайте кнопку понижения громкости и кнопку питания, пока не увидите логотип  Apple
  • Чтобы принудительно перезагрузить iPhone 6s и более поздней версии, нажав кнопку Home: удерживайте кнопку Home и кнопку питания, пока не увидите логотип  Apple на экране.

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

Из личного опыта могу сказать, что экран моего iPhone 7 Plus иногда может перестать реагировать на касания и полная перезагрузка всегда помогает.

3. Удалить или обновить / переустановить проблемное приложение

Иногда сенсорный экран iPhone не реагирует только в конкретном приложении. Если у вас случается подобное то, скорее всего, проблема в самом приложении, а не в экране, но при открытии приложения экран перестает реагировать, так как приложение «зависает». Зависающее приложение не будет реагировать на любые касания, но нажав кнопку Home, вы выйдите из приложения и вернетесь на главный экран.

Если сенсорный экран не работает в приложении, попробуйте обновить его. Откройте приложение и проверьте доступные для него обновления, если обновление доступно – установите его.

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

4. Освободите память iOS

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

Убедитесь, что на вашем устройстве есть свободная память. Вы можете проверить это, перейдя в Настройки > Основные>Хранилище и iCloud>Хранилище. Главное иметь хотя бы несколько сотен Мб, iOS начинает работать менее эффективно, если на нем мало свободной памяти.

Удалить приложения, которыми вы не пользуетесь – самый простой способ освободить память.

Я заметил, что действительно в новых версиях iOS, если хранилище заполнено, многие приложения перестают отвечать и экран не работает. Иногда даже кнопка Home может не реагировать какое-то время на iPhone с полностью заполненной памятью, пока вы не удалите приложения или не очистите кэш. Это легко проверить. Просто заполните вашу память полностью, а затем попытайтесь использовать приложение, которое потребляет большое количество памяти, например Instagram, Twitter, Facebook, Spotify, и так далее, когда это приложение заполнит кэш, вы заметите, что экран перестанет реагировать на какое-то время, так как iOS пытается справиться с недостатком памяти в хранилище. В этом случае просто освободите место и перезагрузите устройство, после этого оно должно снова начать работать.

5. Разбили сенсорный экран? Повредили или уронили iPhone?

В подобной ситуации всё очевидно с самого начала что, если сенсорный экран треснул, могут возникнуть проблемы с его функционированием, или экран может перестать работать совсем. Также в случае повреждения iPhone экран может перестать полностью работать или работать непостоянно.

В случае, если iPhone был намочен, сенсорный экран мог сломаться, а также мог сломаться весь телефон.

Если iPhone был намочен, возможно, что внутренние компоненты могли разболтаться, что стало причиной отказа экрана работать.

Если у iPhone есть визуальные повреждения и экран iPhone не работает, вероятнее всего причина этого – повреждение телефона. Решением в такой ситуации будет – отнести телефон в сервисный центр Apple или в магазин Apple.

6. Сенсорный экран iPhone всё ещё не работает? Настало время прибегать к серьезным мерам

Если экран iPhone всё ещё не работает, можете попробовать резервное копирование и восстановление через iTunes. Только не забудьте сначала сделать резервную копию файлов iPhone в iCloud или заранее в iTunes. Если вы обратитесь в официальную техническую поддержку , сотрудники, вероятнее всего, восстановят ваше устройство. Так как это часть их работы – устранение любых неисправностей.

Если iPhone не отвечает, потому что он завис на логотипе Apple, это совсем другая проблема, которая не связана с сенсорным экраном, на всех устройствах вы можете исправить это, восстановив устройство или при помощи восстановления в режиме DFU.

Сенсорный экран iPhone ВСЁ ЕЩЁ не работает? Обратитесь за профессиональной помощью

Если все вышеперечисленные способы устранения неполадок не решили вашу проблему, то настало время обратиться за профессиональной помощью в службу поддержки Apple, пойти в магазин Apple или посетить официальный сервисный центр Apple. Там ваш телефон проверят и выявят причину, по которой не работает экран, возможно, понадобится ремонт устройства. Возможно проблема с оборудованием или ещё какая-то другая проблема, которую вы упустили.

Помогли ли эти советы устранить неисправность вашего iPhone? Знаете ли вы другие способы решения подобной проблемы? Расскажите об этом в комментариях.

Введение в 3D Touch

С выходом iPhone 6s и iPhone 6s Plus компания Apple представила нам совершенно новый способ взаимодействия с нашими телефонами: жест сильного нажатия. Как вы знаете, эта функция уже доступна на Apple Watch и MacBook и в MacBook Pro под названием Force Touch. Это — буквально — добавило новое понятие к пользовательскому интерфейсу.

Если вы задаетесь вопросом, почему Force Touch было переименовано на 3D Touch для iPhone, тогда вы не одни такой. Вскоре после того, как Крейг Федериги (Craig Federighi), который также был явно озадачен названием, представил эту новую возможность, возникло много догадок. Чем не устроило название Force Touch? Слишком много шуток из Звездных войн?

Но есть разница! Очевидно, что Force Touch может распознать только сильное нажатие, тогда как функция 3D Touch более чувствительная и может выделить несколько уровней нажатий на основе того, как сильно вы нажимаете.

Введение в 3D Touch

Хотя изменения могут показаться незначительными, именно они позволяют разработчикам сделать измерения на iPhone более точными. Возьмите это приложение Gravity, например, которое превращает ваш iPhone в цифровые весы с помощью Force Touch. Хотя оно и было отклонено компанией Apple по неясным причинам, идея замечательная. Таким образом, чтобы показать вам, как работает 3D Touch, давайте попробуем сделать похожее приложение!

Давайте начнем

Для начала скачайте этот шаблон проекта, который я создал. По сути, это просто пустое приложение создание на основе шаблона Single View iPhone application. Я создал проект разместил (UILabels & UIImage) и подключил IBOutlets в ViewController.swift.

image

Дизайн нашего приложения довольно прост: у нас есть один контроллер с 2 метками: одна это заголовок и вторая метка, которая показывает процент силы нажатия на экран iPhone.

Давайте начнем разработку! На iPhone 6s и 6s Plus у объектов UITouch есть два новых свойства типа CGFloat, под названием force и maximumPossibleForce. Force представляет, то насколько сильным является касание, где 1.0 означает среднее касание. MaximumPossibleForce показывает максимальную силу для касания.

Всякий раз, когда пользователь нажимает на сенсор, вызывается метод touchesBegan, а затем touchesMoved, если пользователь водит своим пальцем по экрану, то тогда вызывается touchedCancelled или TouchesEnded в зависимости от ситуации. Для наших целей метод touchesMoved является единственным способом, который нам нужен. TouchesMoved имеет два параметра: touches (касания) и event (событие). Касания — набор (неупорядоченный набор различных объектов) объектов UITouch. Для касания должен быть точно один объект UITouch, но мы можем быть не достаточно осторожными, поэтому настоятельно рекомендуется проверить, равен ли touches.first (первый объект UITouch сенсорного набора) nil при помощи дополнительной привязки. Вставьте следующий метод в ViewController.swift:

В помощью оператора if мы проверяем, поддерживает ли устройство 3D Touch. Эта часть необязательна, если вы делаете этот проект для удовольствия. Однако если вы собираетесь опубликовать приложение в App Store, это является обязательным требованием, выполнение проверки, так как более старые устройства такие как iPhone 6 не поддерживают 3D Touch.

Обратите внимание на то, что я также проверял, запускается ли устройство на iOS 9.0 или более поздних версиях. Я делаю это с помощью нового синтаксиса #available, представленного в Swift 2.0. Если Вы хотите узнать больше о новых функциях и возможностях в Swift 2.0, я рекомендую вам прочитать эту статью. Снова эта проверка необязательна, если ваша целевая платформа для приложения 9.0 или выше.

Чтобы получить силу нажатия в процентах, просто разделите силу касания на максимальную силу (т.е. touch.maximumPossibleForce), которая является максимально возможной силой нажатия. Тогда обновите текст метки. Вы можете обновить метод следующим образом:

Если запустите приложение на iPhone 6s/6s Plus, оно должно показать силу нажатия в процентах при нажатии на экран. Однако так как мы делаем шкалу, возможно вы захотите добавить количество граммов, которые вы взвешиваете на своем iPhone. Согласно Райану Маклиду, датчик взвесит максимальный веса

385g. Таким образом maximumPossibleForce соответствует 385 граммам (приблизительно 3.8 Ньютона). Путем нехитрых вычислений, вы можете конвертировать % силы в граммы. Все, что нам нужно сделать, это умножить процент силы нажатия на 385. Для объектов весом 385 граммов или больше, мы просто изменяем метку на “385+ grams”.

Теперь обновите метод, используя следующий фрагмент кода:

Круто! Вы сделали свое Digital Scale приложения.

image

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

Быстрые действия на главном экране

Еще одно отличное использование 3D Touch — это быстрые действия на главном экране. Quick Actions дают пользователям меню для перехода к каталогу вашего приложения напрямую. Просто сильно нажмите на значок программы, и вы увидите меню. С появлением технологий 3D Touch, такие приложения как Twitter и Instagram и некоторые других приложения, показали как используют эту новую функцию.

image

  • UIApplicationShortcutItemType (обязательно): строка, которая идентифицирует быстрое действие. Обратите внимание, что эта строка должна быть уникальной, определенно для приложения. Хорошая идея состоит в том, чтобы добавить префикс с помощью Вашего идентификатора или некоторых других хитростями для того что бы сделать уникальную строку.
  • UIApplicationShortcutItemTitle (обязательно): строка, представляет заголовок для Quick Action который показывается пользователю. Примером может быть “Show last picture taken”.
  • UIApplicationShortcutItemSubtitle (необязательно): строка для названия вашего Quick Action. Примером может быть“Last picture taken yesterday”. Если вы хотите добавить иконку для Quick Action, у вас есть два варианта: системная иконка от Apple или пользовательская иконка.
  • UIApplicationShortcutItemIconType (необязательно): строка, указывающая, какая системная иконка будет отображаться рядом с Quick Action.
  • UIApplicationShortcutItemIconFile (необязательно): строка, указывающая, какая пользовательская иконка будет отображаться рядом с Quick Action.
  • UIApplicationShortcutItemUserInfo (необязательно): словарь, содержащий некоторую дополнительную информацию, которую вы хотите выполнить с помощью Quick Action.

image

Обратите внимание, что я использовал ‘$(PRODUCT_BUNDLE_IDENTIFIER)’ вместо ‘com.appcoda.Scale’ или любой другой идентификатор, который вы используете. Это в целях безопасности: если, по какой-либо причине, я изменю Bundle ID в ‘General’, то будет затронут весь проект и идентификатор будет изменен везде. В противном случае, мне придется менять его везде вручную. В вашем файле info.plist, вы можете увидеть, что ключ Bundle Identifier использует тот же подход: ‘$(PRODUCT_BUNDLE_IDENTIFIER)‘ описывает путь к идентификатору вашего проекта.

Последнее, что осталось сделать, это реализовать Quick action, когда пользователь запускает его. Главная работа обрабатываются в AppDelegate.swift в методе performActionForShortcutItem. Когда Quick Action активируется, вызовется метод. Поэтому вы должны реализовывать этот метод для обработки быстрых действий:

Как ожидается, вызовите обработчик и передадите в него нулевое значение, в зависимости от успеха/отказа быстрого действия. Здесь мы создаем отдельную функцию handleQuickAction, чтобы обработать действие. Отличным способом для представления нескольких случаев Quick Action является использование перечислений с помощью ‘UIApplicationShortcutItemType’ в качестве необработанного значения. Объявите перечисление и реализуйте метод handleQuickAction, как показано ниже, чтобы задать цвет фона синим, когда приложение будет запущено посредством быстрого действия:

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

image

О чем же нужно не забыть?

Есть один моментом, который следует учитывать. С точки зрения последовательности запуска есть различие между приложением, которое запускается, и приложением, которое возобновляется с помощью Quick Action. Так как Вы знаете, когда приложение запускается, вызываются методы willFinishLaunchingWithOptions затем метод anddidFinishLaunchingWithOptions. Но когда приложение возобновляется путем Quick Actions, то он лишь провоцирует выполнение метода performActionForShortcutItem.

image

Если Вы посмотрите на метод didFinishLaunchingWithOptions, то вы увидите, что у нас есть строка кода, чтобы установить цвет фона белым. Он используется, когда приложение запускается обычно, через иконку приложения.

Вот откуда исходит проблема: при запуске приложения с помощью быстрое действие, вызываются willFinish, didFinish, а затем performActionForShortcutItem. Поэтому сначала устанавливается белый цвет фона, а затем меняется на синий. Очевидно, Вы не хотите устанавливать цвет фона белым, когда пользователь запускает приложение с помощью быстрых действий.

Чтобы решить эту проблему, мы должны осуществить проверку в методе didFinishLaunchingWithOptions:

Чтобы определить, запущено ли приложение посредством Quick Action, Вы можете проверить функциональную клавишу запуска UIApplicationLaunchOptionsShortcutItemKey. Объект UIApplicationShortcutItem доступен как значение функциональной клавиши запуска. Если приложение запущено путем Quick Action, мы просто вызываем handleQuickAction, чтобы изменить фон на синий.

Поскольку мы уже обработали быстрое действие в didFinishLaunchingWithOptions, мы не хотим вызывать performActionForShortcutItem, чтобы выполнить handleQuickAction снова. Потому мы возвращаем значение false, сообщая системе не вызывать метод performActionForShortcutItem.

Вот и все! Вы можете теперь протестировать приложение. Quick Action должно работать отлично.

3D Touch — отличный способ добавления удобных и приятных функций к Вашему приложению. Однако Вы должны знать, что не все устройства поддерживают 3D Touch, хотя это может измениться в будущем.

После прочтения этой статьи вы сможете добавлять Quick Actions к вашему iOS приложению и определять силу касания.

Для сравнения вы можете загрузить полный проект Xcode. Не забудьте поделиться мыслями в комментариях об этом руководстве и 3D Touch.