iOS 9-键盘将捆绑包名称显示为";(无效)“;升级

iOS 9-键盘将捆绑包名称显示为";(无效)“;升级,ios,ios9,ios-keyboard-extension,Ios,Ios9,Ios Keyboard Extension,我有一个iOS键盘应用程序扩展,它存在于应用程序商店中。最近,在测试将应用程序从1.0版升级到1.1版的效果时,我注意到,当我按住标准iOS键盘上的地球仪图标时,我的应用程序名称显示为(null)。还有其他人经历过吗?如果在升级后打开键盘之前,我不尝试打开配套应用程序,就会发生这种情况。如果我打开companion应用程序,这种情况就会消失。我在下面附上了一张图片 更新: 使用iOS控制台,我注意到以下日志条目: Oct 5 16:16:40 Sarangan-Balasubramaniam

我有一个iOS键盘应用程序扩展,它存在于应用程序商店中。最近,在测试将应用程序从1.0版升级到1.1版的效果时,我注意到,当我按住标准iOS键盘上的地球仪图标时,我的应用程序名称显示为
(null)
。还有其他人经历过吗?如果在升级后打开键盘之前,我不尝试打开配套应用程序,就会发生这种情况。如果我打开companion应用程序,这种情况就会消失。我在下面附上了一张图片

更新: 使用iOS控制台,我注意到以下日志条目:

Oct  5 16:16:40 Sarangan-Balasubramaniams-iPad SpringBoard[48] <Warning>: Installed apps did change.
    Added: {(
    )}
    Removed: {(
    )}
    Modified: {(
        "com.vijay.SuperKeyz"
    )}
Oct  5 16:16:41 Sarangan-Balasubramaniams-iPad pkd[116] <Warning>: INSTALLED:com.vijay.SuperKeyz.keykeykeyboard com.vijay.SuperKeyz.keykeykeyboard(1.1) <__NSConcreteUUID 0x17d93870> AF3C211B-0871-49F1-89EF-433510FE85C4 /private/var/mobile/Containers/Bundle/Application/24643C20-B44F-47A4-ADB5-57EA10FF9CF0/SuperKeyz.app/PlugIns/keykeykeyboard.appex
Oct  5 16:16:46 Sarangan-Balasubramaniams-iPad pkd[116] <Warning>: assigning plug-in com.vijay.SuperKeyz.keykeykeyboard(1.0) to keyboard sandbox
Oct  5 16:16:46 Sarangan-Balasubramaniams-iPad pkd[116] <Warning>: enabling pid=1662 for plug-in com.vijay.SuperKeyz.keykeykeyboard(1.0) 4DAC067D-4E00-48A0-86CB-7519AC750C8A /private/var/mobile/Containers/Bundle/Application/8CA610CD-672B-40ED-A564-08EB2D90FD11/SuperKeyz.app/PlugIns/keykeykeyboard.appex
Oct  5 16:16:46 Sarangan-Balasubramaniams-iPad MobileSMS[1662] <Warning>: Communications error: <OS_xpc_dictionary: <dictionary: 0x158928a0> { count = 2, contents =
        "errorcode" => <uint64: 0x158b7ae0>: 4
        "error" => <string: 0x1588ca30> { length = 114, contents = "cannot obtain executable path for plug-in com.vijay.SuperKeyz.keykeykeyboard(4DAC067D-4E00-48A0-86CB-7519AC750C8A)" }
    }>
10月5日16:16:40 Sarangan Balasubramaniams iPad SpringBoard[48]:已安装的应用程序确实发生了变化。
增加:{(
)}
删除:{(
)}
修改:{(
“com.vijay.SuperKeyz”
)}
10月5日16:16:41 Sarangan Balasubramaniams iPad pkd[116]:安装:com.vijay.SuperKeyz.keykeyboard com.vijay.SuperKeyz.keykeykeyboard(1.1)AF3C211B-0871-49F1-89EF-433510FE85C4/private/var/mobile/Containers/Bundle/Application/24643643C20-B44F-47A4-ADB5-57EA10FF9CF0/SuperKeyz.app/PlugIns/keykeykeyboard.appex
10月5日16:16:46 Sarangan Balasubramaniams iPad pkd[116]:将插件com.vijay.SuperKeyz.keykeyboard(1.0)分配到键盘沙盒
10月5日16:16:46 Sarangan Balasubramaniams iPad pkd[116]:为插件com.vijay.SuperKeyz.keykeykeyboard(1.0)4DAC067D-4E00-48A0-86CB-7519AC750C8A/private/var/mobile/Containers/Bundle/Application/8CA610CD-672B-40ED-A564-08EB2D90FD11/SuperKeyz.app/PlugIns/keykeykeyboard.appex
10月5日16:16:46 Sarangan Balasubramaniams iPad手机[1662]:通信错误::4
“错误”=>{length=114,contents=“无法获取插件com.vijay.SuperKeyz.keykeykeyboard(4DAC067D-4E00-48A0-86CB-7519AC750C8A)的可执行路径”}
}>

我为难以阅读的输出道歉,但是你可以看到iOS在错误的路径上搜索我的插件。它正在寻找我的旧安装路径,而不是新安装路径。我的简单猜测是,iOS键盘正在某个地方缓存其他键盘的列表,并且在其他触发之前不会更新它。

我也看到了这一点;这是iOS中的一个bug。你应该在上面放一个雷达

通常,您可以通过从应用程序切换器关闭应用程序并重新打开它来修复单个应用程序的问题


根据我的经验,Spotlight和Quick Reply在设备重新启动之前不会启动键盘,这也解决了所有其他应用程序的问题。

对于在iOS 10+中仍面临此问题的用户,确保您的
捆绑包名称
与您的
捆绑包显示名称

相同。我采取的升级路径是从app store将我的1.0版升级到TestFlight的1.1版。然而,我在从“存档”窗口导出的临时IPA文件升级时发现了同样的问题。当你点击“空”键盘选项时,它是否试图打开键盘并崩溃?@justColbs,据我回忆,你点击了该选项,什么都不会发生。如果您将设备连接到控制台,您将看到上述输出的最后一行(“错误”消息),谢谢@ben pious。这也是我要得出的结论,然而,阻碍我前进的是,商店里还有其他键盘没有遇到这个问题。我忍不住想,当通过应用商店进行安装时,问题可能会消失,但如果不推出我的应用程序,我无法确定,这可能会让我的客户感到恼火。你是如何处理这个问题的?自从我上次研究它以来,情况可能已经改变了,但据我所知,这确实影响了键盘扩展的生产版本。在我工作的地方,我们在每个发行说明中都建议用户在安装后重新启动设备,我相信有一个中文键盘实际上有一个通知,告诉用户在键盘上重新启动。我在设备上运行新版本的键盘时遇到了这个问题。我们无法获得新版本,下一个键盘键上的标题显示为“(null)等等。”尽管我们已经从设备上删除了应用程序的前一个版本,但它仍然在后台运行。打开应用程序切换器并关闭它(以及所有正在运行的应用程序)可以打开键盘。是的,它确实为我们的曲棍球版本解决了这个问题,但是当我们从实时版本更新到临时版本和反向版本时,我们仍然会遇到这个问题,只是检查一下您是否找到了解决方案?我还在做一个@S2dent@justColbs,我们坚持使用该解决方案,因为它对大多数实时构建都有效