Я использую приложение «Настройки» для хранения настроек приложения. Я также по умолчанию храню внутренние настройки приложения (которые не отображаются в приложении «Настройки»). Например, я использую пользовательские настройки по умолчанию для хранения последнего индекса панели вкладок, который не отображается в приложении «Настройки».
Я подписываюсь на NSUserDefaultsDidChangeNotification, чтобы прослушивать любые изменения настроек, когда мое приложение работает в фоновом режиме, и это прекрасно работает.
Проблема в том, что когда я обновляю настройки пользователя по умолчанию (для параметров настройки моего внутреннего приложения) из моего приложения, это также запускает NSUserDefaultsDidChangeNotification, и которое мне не нужно.
- Можно ли просто прослушать изменение настроек из приложения "Настройки", а не из приложения?
- Можно ли прослушать уведомление только тогда, когда приложение находится в фоновом режиме? Я пытался подписаться на уведомление только в applicationWillResignActive (непосредственно перед переходом в фоновый режим) (и это прекрасно работает для регистрации), но я не смог найти способ отменить регистрацию после того, как приложение снова стало активным (applicationDidMakeActive не кажется правильным обратный вызов, так как уведомления доставляются после этого обратного вызова).
- Или есть какой-то другой простой способ добиться этого?