iOS 9 — при обновлении на клавиатуре имя пакета отображается как (нулевое)

У меня есть расширение приложения для клавиатуры iOS, которое существует в магазине приложений. Недавно, тестируя последствия обновления приложения с версии 1.0 до 1.1, я заметил, что когда я нажимаю и удерживаю значок земного шара на стандартной клавиатуре iOS, имя моего приложения отображается как (null). Кто-нибудь еще испытал это? Обычно это происходит, если я не пытаюсь открыть вспомогательное приложение до открытия клавиатуры после обновления. Если я открою приложение-компаньон, это исчезнет. Я приложил изображение ниже.

название клавиатуры

Обновление: используя консоль 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)" }
    }>

Я извиняюсь за трудный для чтения вывод, но вы видите, что iOS ищет мой плагин по неправильному пути. Он ищет мой старый путь установки вместо нового. Мое простое предположение заключается в том, что клавиатура iOS где-то кэширует список других клавиатур и не обновляет его до тех пор, пока какой-либо другой триггер.


person Vijay Sharma    schedule 05.10.2015    source источник
comment
Путь обновления, который я выбрал, состоял в том, чтобы обновить мою версию 1.0 из магазина приложений до моей версии 1.1 из TestFlight. Однако мне удалось увидеть ту же проблему при обновлении из специального файла IPA, который я экспортировал из окна «Архивы».   -  person Vijay Sharma    schedule 05.10.2015
comment
Когда вы нажали на нулевую клавиатуру, он попытался открыть клавиатуру и вылетел?   -  person justColbs    schedule 12.07.2017
comment
@justColbs, насколько я помню, вы нажимали на эту опцию, и ничего не происходило. Если бы ваше устройство было подключено к консоли, вы бы увидели последнюю строку приведенного выше вывода (сообщение об ошибке)   -  person Vijay Sharma    schedule 26.07.2017


Ответы (2)


Я тоже это видел; это ошибка iOS. Вы должны зарегистрировать радар на нем.

Как правило, вы можете решить проблему для отдельного приложения, закрыв приложение из переключателя приложений и снова открыв его.

По моему опыту, Spotlight и Quick Reply не позволят клавиатуре появиться, пока устройство не будет перезагружено, что также устраняет проблему для всех других приложений.

person Ben Pious    schedule 06.10.2015
comment
Спасибо @ben-pious. К такому выводу я тоже прихожу, однако меня удерживает тот факт, что в магазине есть другие клавиатуры, которые не страдают от этой проблемы. У меня возникает соблазн подумать, что, возможно, проблема исчезнет, ​​когда установка произойдет через магазин приложений, но я не могу быть уверен, не выложив свое приложение и потенциально раздражая своих клиентов. Как вы подошли к вопросу? - person Vijay Sharma; 06.10.2015
comment
Ситуация могла измениться с тех пор, как я в последний раз изучал ее, но, насколько я знаю, это действительно влияет на рабочие версии расширений клавиатуры. Там, где я работаю, мы советуем в каждом примечании к выпуску, чтобы пользователи перезагружали свои устройства после установки, и я полагаю, что есть клавиатура на китайском языке, которая на самом деле имеет уведомление, сообщающее пользователям о перезагрузке в самой клавиатуре. - person Ben Pious; 06.10.2015
comment
У меня возникла эта проблема, когда я пытался запустить новую версию нашей клавиатуры на устройстве. Мы не могли получить новую версию, и ее заголовок на следующей клавише клавиатуры показывал (ноль) и т. д. Несмотря на то, что мы удалили предыдущую версию приложения с устройства, оно все еще работало в фоновом режиме. . Открытие переключателя приложений и закрытие его (и всех запущенных приложений) позволило поднять клавиатуру. - person floatingpoint; 21.01.2017

Для тех, кто все еще сталкивается с этим в iOS 10+, убедитесь, что ваш Bundle Name совпадает с вашим Bundle Display Name.

person S2dent    schedule 09.01.2017
comment
Да, это точно решило эту проблему для наших сборок Hockey, однако мы все еще сталкиваемся с этим при обновлении с живых до специальных сборок и наоборот. - person S2dent; 13.06.2017
comment
Эй, просто проверяешь, не нашел ли ты решение? Я все еще работаю над одним. @S2dent - person justColbs; 17.07.2017
comment
@justColbs, мы придерживались этого решения, так как оно работало для большинства наших живых сборок. - person S2dent; 21.07.2017