LaunchKit · 2026
Back to Skills

ios-keyboard-limitations

iOS keyboard extension technical limitations and workarounds.

0
780 downloads
by @usimic

Setup & Installation

openclaw skills install @usimic/ios-keyboard-limitations

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install ios-keyboard-limitations

What This Skill Does

iOS keyboard extensions run under strict Apple sandbox rules that block microphone access, programmatic app launching, and standard persistent storage. These limitations make voice dictation features impractical directly inside a keyboard extension. The skill documents confirmed restrictions from the PolyVoice project and outlines viable alternative architectures including Share Extensions and Siri Shortcuts.

Consolidates Apple's underdocumented keyboard sandbox restrictions with concrete workarounds and architecture tradeoffs, avoiding trial-and-error during iOS extension development.

When to use it

  • Planning a custom iOS keyboard that includes voice input
  • Debugging silent keyboard extension crashes caused by memory overuse
  • Choosing between a Share Extension and keyboard extension for audio processing
  • Implementing App Groups to share state between a keyboard extension and its main app
  • Evaluating Siri Shortcuts as a dictation alternative to a custom keyboard

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Can I add microphone recording to my iOS custom keyboard?

AGENT
  1. 1Confirms microphone access is blocked in keyboard extensions by Apple's sandbox model
  2. 2Explains the ~50MB memory limit that makes audio processing impractical
  3. 3Describes the manual switch workaround using App Groups shared state between the keyboard and main app
  4. 4Presents Share Extension and full app mode as architectures with unrestricted mic access
  5. 5Recommends Siri Shortcuts integration for voice dictation with lower user friction
OUTPUT

Architecture recommendation with a clear implementation path for voice-to-text that avoids keyboard extension constraints