Итак, у меня есть это требование, когда расширение клавиатуры должно иметь возможность открывать приложение-компаньон и заставлять пользователя выполнять там определенные действия, а затем иметь возможность вернуться к любому предыдущему приложению и ввести некоторый текст в ранее выделенное текстовое поле.
В принципе, если вы посмотрите на Scandit Keyboard Wedge , вы увидите такое поведение: пользователь, открывающий окно, может нажать кнопку «Сканировать» на пользовательской клавиатуре и получить его в приложении-компаньоне. После сканирования штрих-кода приложение автоматически возвращается к предыдущему открытому приложению и вводит строку штрих-кода в текстовое поле, которое редактировалось.
Теперь, читая документацию Apple, я вижу упоминание о том, что расширению клавиатуры запрещено открывать другие приложения. Включает ли это собственное приложение-компаньон?
Кроме того, я не совсем уверен, как заставить расширение клавиатуры открывать пользовательский URL, так как UIApplication.shared
недоступно в расширении клавиатуры.
Теперь, моя вторая проблема: как приложение-компаньон возвращается к ранее открытому приложению?
То же самое касается собственной пользовательской клавиатуры Google. Теперь я нашел вопрос об этом здесь на SO. Ответ предполагает, что это использует частный API для обработки этой вещи. Но тогда мне любопытно: как это вообще привело к процессу проверки Apple? Ожидается ли отклонение моего приложения?