Расширение клавиатуры работает в симуляторе, но не на устройстве
Я занимаюсь разработкой собственного расширения клавиатуры. До сих пор он отлично работал как на симуляторе, так и на устройстве.
После некоторых небольших изменений (добавление import AudioToolbox
в одном классе и одной команде) он внезапно перестал работать на устройстве. Приложение компилируется и запускается, но затем я активирую свою клавиатуру. XCode показывает следующую ошибку:
Lost connection to "My iPhone".
Restore the connection to "My iPhone" and run "xxx.xxx.xxx.xxx-Keyboard"
again, or if "xxx.xxx.xxx.xxx-Keyboard" is still running, you can
attach to it by selecting Debug > Attach to Process > xxx.xxx.xxx.xxx-Keyboard.
Эта ошибка похожа на ту, которая появляется, когда кабель iPhone отсоединен, но с кабелем все в порядке.
Моя клавиатура сама по себе не запускается - при активации (с помощью клавиши глобуса) происходит задержка в несколько секунд (что является нормальным, когда моя клавиатура загружается в режиме отладки), а затем отображается ранее активная клавиатура.
У этого проекта месяц разработки, и я полностью занят, поэтому любая помощь очень ценится.
4 ответа
Решение, которое сработало для меня:
- неподключенный кабель iPhone
- Очищенный проект
- Закрытый XCode, перезагрузил компьютер
- встроенный проект и все связанные библиотеки с нуля
- Перезагрузка iPhone, удаление приложения с расширением клавиатуры, перезагрузка iPhone
- переподключенный iPhone кабель, запустить расширение
Для меня проблема заключалась в том, что цель развертывания приложения отличалась от цели развертывания расширения
Перейдите в настройки своего проекта и убедитесь, что основная цель и цель клавиатуры имеют одинаковое значение цели развертывания на вкладке "Общие".
Я обнаружил, что простой перезапуск XCode обычно делает свое дело.
Для потомков: я использовал бета-версию xcode, поэтому в качестве целевого значения Keyboard по умолчанию было указано "Deployment Target 11.0". Мое устройство было на 10.3, поэтому установка молча провалилась.
Я исправил это, установив цель развертывания на более старую версию ОС (в данном случае 8.0), как предложено @yogev132.
Мне также пришлось убить и перезапустить приложение "Настройки", чтобы увидеть мою клавиатуру в меню "Добавить клавиатуры".