I have built an iOS keyboard extension, before it is installed the system prefered language is "English" like so:
https://i.stack.imgur.com/JYfgZ.png
After installing the keyboard extension the system language is set to "Corsican", like so:
https://i.stack.imgur.com/C5JmD.png
Corsican is being set because the bundle identifiers start with co.
which maps to the ISO 639-1 language code for Corsican co
. I've verified that my PrimaryLanguage
is en-US
, see below a section of Info.Plist
. I've verified the bundle ID is the root cause by changing the bundle ID to something not starting with co
and this behaviour disappears.
...
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>IsASCIICapable</key>
<false/>
<key>PrefersRightToLeft</key>
<false/>
<key>PrimaryLanguage</key>
<string>en-US</string>
<key>RequestsOpenAccess</key>
<false/>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.keyboard-service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).KeyboardViewController</string>
</dict>
...
This seems like a bug in iOS. Any suggestions what to try?