Я понимаю, что когда Полный доступ отключен, расширение клавиатуры находится в изолированной программной среде и не может получать доступ к общим контейнерам, выполнять сетевые запросы или взаимодействовать с содержащимся в нем приложением. Когда он включен, мы можем использовать UserDefaults(suiteName:) или общие группы приложений для обмена данными между клавиатурой и основным приложением.
Однако этот подход работает только после того, как клавиатура была открыта хотя бы один раз, поскольку это единственный раз, когда расширение фактически запускается.
Я пытаюсь выяснить, существует ли какой-либо законный или общедоступный iOS API, конфигурация или косвенный метод, который позволил бы основное приложение знает статус Полного доступа клавиатуры до того, как клавиатура была запущена — что-то похожее на то, что Grammarly, похоже, делает в процессе регистрации.
Я пробовал:
- Проверка общих значений UserDefaults (работает только после запуска клавиатуры и передачи значения hasFullAccess с клавиатуры на основное приложение)
- Просматриваем документацию по расширению клавиатуры Apple (прямой API не найден)
Любой рекомендации, даже на высоком уровне, будут очень признательны.
Подробнее здесь: https://stackoverflow.com/questions/797 ... out-openin
Мобильная версия