如何缩短键盘扩展名的名称(通过info.plist键)

时间:2014-11-13 07:18:15

标签: ios xcode info-plist ios-keyboard-extension

我正在为iOS 8开发一个键盘扩展。

一切都很好但是当我在设备上运行时,键盘的名称是" myBoard - mBoard"。我希望它只是" myBoard"。

我的扩展程序info.plist是:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-    1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>Meboard</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>tapi.Meboard.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSHasLocalizedDisplayName</key>
<false/>
<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>IsASCIICapable</key>
        <false/>
        <key>PrefersRightToLeft</key>
        <false/>
        <key>RequestsOpenAccess</key>
        <true/>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.keyboard-service</string>
    <key>NSExtensionPrincipalClass</key>
    <string>${PRODUCT_MODULE_NAME}.myBoard</string>
</dict>

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:4)

从iOS 8.1开始,这似乎不一致。我们已经尝试了多种显示键组合,虽然在某些情况下你似乎可以简单地显示为“myBoard”或键盘名称,但似乎不可能只显示“myBoard”而不是“myBoard - myBoard” (或类似的)在所有情况下。

我们最终得到的设置如下:

CFBundleName:在容器应用和键盘扩展上都相同 CFBundleDisplayName:仅适用于键盘扩展程序 CFBundleExecutable:与键盘扩展程序中的CFBundleDisplayName相同,即容器应用程序的正常${EXECUTABLE_NAME}

这是我们发现的最好的。如果我找到更好的东西,我会更新。

答案 1 :(得分:1)

在Contaning app中,将Bundle Display Name设置为空,并在Keyboard Extension中设置Bundle Display Name“MyBoard”。

进行此更改后,将显示“MyBoard - ”

答案 2 :(得分:0)

要拥有您想要的内容,您应该在info.plist文件(应用程序和扩展程序)中将显示名称设置为完全相同。