Как локализовать расширение службы и получить доступ к свойству APPDelgate в расширении службы - PullRequest
0 голосов
/ 10 января 2019

У меня есть две цитаты, связанные с Service Extension

1. Как локализовать расширение службы

Я поддержал 2-3 языка в своем приложении, пользователь может выбрать любой язык, и приложение будет отображаться на этом языке. Я не использовал язык устройства. Все работает нормально.

Я хочу отображать push-уведомления в зависимости от выбранного пользователем языка. Я использовал Service Extension , и он работает, но получает все уведомления на английском языке (разработка по умолчанию).

Я создал LocalisationManager singleton class, который меняет my app bundle с помощью выбора языка пользователя. Содержимое приложения для iOS локализуется, но не может локализовать текст Service Extension. Я могу получить доступ к LocalisationManager singleton class в Service Extension class, но мой текст не изменяется.

Есть ли способ справиться с этим?

2. Как получить доступ к свойству APPDelgate в расширении службы

Я использовал NSUserDefaults для обмена данными из приложения в расширение. Ссылочный URL

NSUserDefaults *sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.mygroup"];
[sharedUserDefault setObject:object forKey:@"key"];

NSUserDefaults *sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.mygroup"];
sharedUserDefault value = [sharedUserDefault valueForKey:@"key"];

Но есть ли другой способ получить доступ к Singleton class приложения в Extension? Как и мое приложение для iOS, расширение будет ссылаться на Singleton class, поэтому будет создан только один объект этого класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...