我正在为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>
请帮我解决这个问题。
答案 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文件(应用程序和扩展程序)中将显示名称设置为完全相同。