1

我正在为 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>

请帮我解决这个问题。

4

3 回答 3

4

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

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

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

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

于 2014-11-25T01:11:56.817 回答
1

In your Contaning app, set the Bundle Display Name empty and in your Keyboard Extension set the Bundle Display Name "MyBoard".

After making this changes, it will show "MyBoard -"

于 2014-11-13T07:41:40.000 回答
0

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

于 2016-09-17T11:43:17.820 回答