У меня есть две цитаты, связанные с 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
, поэтому будет создан только один объект этого класса.