i,
We develop a Traditional-Chinese voice input method for iOS. It ships as a custom
keyboard extension together with a companion container app.
As documented in QA1872, a custom keyboard extension cannot access the microphone,
so our design captures speech in the container app. The experience we want to offer
is the one users increasingly expect from voice keyboards:
While typing in some host app, the user taps a microphone button on our keyboard.
Our container app comes to the foreground briefly to start an audio session.
The user is returned to the host app they were typing in, and the transcribed
text is inserted through the keyboard.
We would like to build step 3 using only public, supported APIs, and we have two
questions:
Is there any public, App-Store-safe mechanism for a container app that was
launched from a keyboard extension to return the user to the app it was opened
from — i.e. a "return to the opening app" affordance that does not require the
app to learn the identity of the host (which we understand is a privacy concern)?
To be concrete about the gap: today the only patterns we can find require the
keyboard to first identify the specific host app and then open that specific app.
What we would really like is the opposite — a way to simply hand control back to
whichever app opened us, without ever needing to know which app that is. That
would be both privacy-preserving and sufficient for our use case. Does such a
mechanism exist today, and if not, is it something Apple would consider adding?
If there is no such mechanism today, what is Apple's recommended flow for
microphone-based input from a custom keyboard? For example, is the intended
pattern that the user returns to the previous app manually, or is there a
supported combination of public APIs (for instance AudioRecordingIntent
together with a Live Activity) that Apple considers the sanctioned way to
achieve a smooth return?
Several shipping voice-input keyboards appear to achieve this round-trip smoothly,
which suggests it is a common and legitimate user need. We want to make sure we
implement it the way Apple intends, so any guidance on the recommended approach
would be greatly appreciated.
We have an open enhancement request tracking this need: FB22247647.
Thank you very much for your time.
Topic:
App & System Services
SubTopic:
General
Tags: