K Kibo Скачать

Почему не работает кнопка «Вставить» на сторонней клавиатуре

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

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

Под словом «вставить» скрываются две разные вещи

Первый механизм — системный, и он был в iOS задолго до сторонних клавиатур. Нажмите на текстовое поле дважды или удерживайте палец, и над текстом появится меню с пунктами выделения и вставки. Это меню принадлежит самому полю ввода, а не той клавиатуре, которая случайно оказалась под ним. Оно работает со стандартной клавиатурой, с любой сторонней и при выключенном полном доступе — потому что вставку выполняет система, а расширение клавиатуры в процессе вообще не участвует.

Второй механизм — кнопка вставки, нарисованная на панели самой клавиатуры. Чтобы она сработала, расширению нужно самому обратиться к системному буферу обмена, прочитать оттуда содержимое и вписать его в поле ввода за вас. Это уже код, выполняющийся внутри расширения, а не системное меню, и ему требуется разрешение, которое системному меню запрашивать не приходится.

Почему расширению не дают читать буфер по умолчанию

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

Разрешение это называется «Разрешить полный доступ», и здесь важна деталь, которая многих неприятно удивляет: это один переключатель, а не список отдельных прав. Включив его ради буфера обмена, вы одновременно снимаете ту же изоляцию с сетевого доступа и с общего хранилища между клавиатурой и её основным приложением — даже если клавиатуре нужен был только буфер. Именно поэтому предупреждение при включении звучит так тревожно: система честно не может сказать, чем из этого клавиатура воспользуется, и перечисляет всё, что стало технически возможным.

Как включить

  1. Откройте Настройки → Основные → Клавиатура → Клавиатуры.
  2. Нажмите на клавиатуру, кнопка вставки которой должна работать.
  3. Включите «Разрешить полный доступ» и подтвердите предупреждение.

Перезагружать телефон не нужно. Вернитесь в приложение, где вы печатали, и кнопка должна сработать со следующего нажатия.

Если включать не хочется

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

Второй возможный виновник: системный запрос на вставку

Начиная с iOS 16 система показывает отдельный запрос, когда приложение пытается прочитать буфер обмена, заполненный другим приложением. Выглядит это как небольшое окно с вопросом, разрешить ли вставку. Пока вы его не подтвердили, текст не появится — и со стороны это неотличимо от «кнопка не работает». Если вы скопировали ссылку в Safari и вставляете её в Telegram, а вставка срабатывает не с первого раза, посмотрите, не ждёт ли на экране такой запрос.

Как быстро понять, в чём дело

Что стоит решить до включения

Полный доступ — не формальность, и относиться к нему стоит как к любому другому разрешению: разумно понимать, зачем именно оно нужно этой клавиатуре. Хороший признак — когда разработчик называет конкретную причину, которую можно проверить: «нужно для кнопки вставки» проверяется, «нужно для полной функциональности» — нет. Второй ориентир — карточка приложения в App Store и заявленный там сбор данных. Если ради одной кнопки этот обмен вам не нравится, оставьте переключатель выключенным: вставка через системное меню будет работать по-прежнему.

Частые вопросы

Почему кнопка вставки на клавиатуре неактивна или ничего не делает?

Чтобы она сработала, расширению нужно прочитать системный буфер обмена, а такой доступ iOS по умолчанию закрывает. Включите Настройки → Основные → Клавиатура → Клавиатуры → нужная клавиатура → «Разрешить полный доступ». Перезагрузка не требуется: вернитесь в приложение, и кнопка заработает со следующего нажатия. Часть клавиатур вместо бездействия показывает короткое пояснение.

Можно ли вставлять текст, не включая полный доступ?

Да. Удерживайте палец на текстовом поле или нажмите на него дважды и выберите вставку в появившемся меню. Это функция самого поля ввода, а не клавиатуры, поэтому она работает с любой клавиатурой и при выключенном переключателе. Без полного доступа теряется только ярлык на панели клавиатуры, а не сама возможность вставить текст.

Даёт ли включение полного доступа клавиатуре мои пароли?

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

Почему кнопка перестала работать после переустановки клавиатуры?

Полный доступ не переносится вместе с переустановленным приложением: разрешение выдаётся конкретной установке расширения, и после переустановки его нужно выдать заново. Зайдите в Настройки → Основные → Клавиатура → Клавиатуры, откройте свою клавиатуру и проверьте положение переключателя — скорее всего, он вернулся в выключенное состояние.

Попробуйте на своей клавиатуре

Kibo — бесплатная клавиатура для iPhone с настоящим механическим звуком клавиш, набором тем и эффектами RGB-подсветки. Без аккаунта, без рекламы, и работает даже с выключенным полным доступом.

Загрузить в App Store

Похожие руководства

Все руководства