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

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

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

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

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

Я создал 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 приложения в расширении? Как и мое приложение для iOS и расширение будет означать то же самое Singleton classТаким образом, будет создан только один объект этого класса.

0 ответов

Другие вопросы по тегам