У меня есть приложение для iOS, реализующее стороннюю клавиатуру для iOS. Приложение локализовано, имеет базовый язык английский и один дополнительный язык немецкий .
Мой клиент сообщил мне следующее поведение (которое я могу воспроизвести):
например. они приезжают из Испании и на своем iPad настроили только испанский язык. Поскольку у меня нет локализации для испанского языка, они хотят использовать приложение на английском .
Но если они установят мое приложение и чем моя клавиатура ...
(1) Настройки -> Клавиатура -> Клавиатуры -> Добавить мою стороннюю клавиатуру
... iOS автоматически добавляет немецкий язык к своему Порядку предпочитаемого языка :
(Настройки -> Общие -> Язык и регион -> Предпочтительный языковой порядок)
Теперь к проблеме:
Как описано здесь в этой Документации Apple QA1828 , при использовании моего приложения iOS проверяет, содержит ли предпочитаемый язык язык, локализованный приложением, и только в случае неудачи он принимает базу язык (в моем случае английский ).
Но поскольку мое приложение реализует Немецкий и Немецкий - теперь второй предпочтительный язык, мое приложение отображается на Немецком и не так, как ожидалось пользователем на Английском .
Вот так выглядит моя конфигурация локализации в XCode:
В чем причина того, что iOS добавляет новый предпочтительный язык после добавления моей сторонней клавиатуры?
И может ли это быть новым поведением iOS 12? Потому что раньше никто не сообщал о такой проблеме.
ОБНОВЛЕНИЕ 05.11.2018:
Я создал TSI в Apple, и они ответили мне, что я должен создать отчет об ошибке по этому поводу. Не уверен, поможет ли это, но я сделал это и жду ответа.