Apple rejected my dictation app for using the accessibility API
A developer built a dictation app, WhisperPad, out of personal necessity due to a hand injury, aiming for seamless text injection. Apple, however, rejected an update for what it deemed an improper use of the Accessibility API, despite earlier versions being approved. This common tale of Apple's opaque guidelines resonates with developers, showcasing a creative solution to platform constraints through dual distribution.
The Lowdown
Rene Zelaya developed WhisperPad, a dictation app for Mac, after experiencing a progressive hand injury that made typing painful. His goal was to create a local, accurate transcription tool that could directly inject text into applications, minimizing hand movements and avoiding the frustrations of Apple's built-in dictation.
- WhisperPad initially shipped free on the App Store, but an update intended to make it a paid app was rejected under Guideline 2.4.5, citing an unapproved use of the accessibility permission for text injection.
- Zelaya appealed, explaining his personal accessibility need and the app's design to reduce keystrokes for users with similar conditions, but Apple upheld the rejection after a lengthy silence.
- Faced with a dilemma, he decided against sacrificing the App Store's reach and opted to split the product: a compromised version for the App Store that places text on the clipboard, and the full, original auto-pasting version distributed directly.
- Implementing direct distribution required building out payment processing (Paddle), update mechanisms (Sparkle), and licensing, a new learning curve that ultimately improved his understanding of the product's infrastructure.
This experience transformed an obstacle into a valuable constraint, forcing the developer to mature his product's architecture and distribution strategy. It highlights that platform rejections, while frustrating, can often lead to innovative solutions beyond a simple 'comply or quit' scenario.