ios_launch_app_in_language
Launch an iOS app forced into a specific language / locale, without changing the device's system settings. Useful for QA testing app localization (e.g. open the app in Spanish without flipping the whole device to Spanish). Override is per-launch — relaunching the app outside this tool reverts to system language. Works whether or not an automation session is already open: it uses a running RDSRunner when there is one and pymobiledevice3's DVT launch when there is not, and says which it used. The target app must use NSLocalizedString / Bundle.main.localizedStringForKey at runtime (modern apps do; some legacy apps cache locale on first cold launch — kill via ios_kill_app and re-call this tool to force re-read).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| udid | Yes | iOS device UDID | |
| locale | No | Optional BCP-47 / POSIX locale (defaults to <language>_<UPPER(language)>), e.g. "fr_FR", "es_US" | |
| bundleId | Yes | App bundle ID, e.g. com.apple.Preferences | |
| language | Yes | ISO 639-1 language code, e.g. "fr", "es", "en", "ja" |