Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 9 - Keyboard displays bundle name as "(null)" on upgrade

I have an iOS keyboard app extension which exists in the app store. Recently, while testing the effects of upgrading the app from version 1.0 to 1.1, I noticed that when I press and hold the globe icon on the standard iOS keyboard, my app's name is displayed as (null). Has anyone else experienced this? This tends to happen if I do not try to open the companion app before opening the keyboard after upgrade. If I open the companion app, this tends to go away. I've attached an image below.

keyboard name

Update: Using iOS Console, I noted the log entry below:

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)" }
    }>

I apologize for the hard-to-read output, but what you can see is that iOS is searching for my plugin at the wrong path. It's looking for my old install path, instead of the new one. My simple guess is that the iOS keyboard is caching the list of other keyboards someplace, and doesn't update it until some other trigger.

like image 985
Vijay Sharma Avatar asked Oct 05 '15 18:10

Vijay Sharma


1 Answers

I've seen this too; this is a bug in iOS. You should file a radar on it.

Generally you can fix the issue for an individual App by closing the app from the app switcher and reopening it.

Spotlight and Quick Reply, in my experience, won't let the keyboard come up until the device has been restarted, which also fixes the issue for all other Apps.

like image 93
Ben Pious Avatar answered Sep 28 '22 18:09

Ben Pious