1

Here's how my soft keyboard's title is currently displayed among the keyboard choices in iOS:

enter image description here

I'd prefer for it to be displayed like the Gboard example above it, simply as "ASETNIOP" on the top line and "Multiple languages" below, as shown in the mockup here:

enter image description here

I can change the lowercased prefix if I modify the extension's "Display Name" in Target->General->Identity, but I can't eliminate it (or the associated dash) entirely:

enter image description here

And (although I don't actually need to do this) it doesn't look like it's possible to change the main application's Display Name at all - it's grayed out:

enter image description here

Can anyone let me know where I need to go to make these changes, and where I need to go to change the Language designation as well?

asetniop
  • 523
  • 1
  • 5
  • 12

2 Answers2

5

For multi language, open your info.plist as source code of extension part. Then find

 <key>PrimaryLanguage</key>
    <string>en-US</string>

replace with

<key>PrimaryLanguage</key>
    <string>mul</string>
1

The name of the keyboard application extension (or appex) iOS displays in the menu under "Globe" button is taken from the Keyboard appex's metadata. In your case this is asentitop target. So, check/apply the following for this target:

Go to the target's Info.plist and change the following keys.

<key>CFBundleDisplayName</key>
    <string>ASETNIOP</string>
<key>CFBundleName</key>
    <string>ASETNIOP</string>

Advanced setup would employ localization for your custom keyboard extension display name.

  • Go to your Xcode project and select your keyboard extension target
  • Go to General tab and set Display Name to ${PRODUCT_NAME}
  • Go to Info tab and set CFBundleName to ${PRODUCT_NAME}
  • Make sure CFBundleDisplayName is set to ${PRODUCT_NAME}

    Now, this setup allows you to set the Keyboard appex's name from a single place -- Build Settings tab

  • Go to Build Settings tab and search for PRODUCT_NAME. Edit Product Name to be ASETNIOP
  • Localize Info.plist and add these keys to respective localizations:

    "CFBundleDisplayName" ="ASETNIOP";
    "CFBundleName" = "ASETNIOP";
    
Yevhen Dubinin
  • 4,657
  • 3
  • 34
  • 57
  • I made a single change - to Bundle Display Name in the info.plist for the extension - and it seems to have done exactly what I was looking for. Thanks! – asetniop Nov 18 '17 at 16:45
  • Editing `CFBundleName` might be optional for your task, and the key can have other value if needed. However, I am not aware of any example when this might be desired. – Yevhen Dubinin Nov 20 '17 at 03:56