Настройки кэширования в Центре уведомлений? - PullRequest
4 голосов
/ 08 января 2012

Я собираюсь проверить Push-уведомления в моем приложении.Теперь он работает нормально, но мне также нужно проверить возможность того, что пользователь не принимает push, когда отображается системное предупреждение.Однако после первого тестирования случая, когда пользователь принимает.

Я могу удалить приложение, перезагрузить устройство и еще много чего, но настройки, похоже, остаются.Когда я удаляю приложение, оно удаляется из Центра уведомлений, но сразу после установки настройки остаются такими же, какими они были до удаления.

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

Итак:

  • Кеширует ли эти настройки Центр уведомлений?
  • Если да, то как долго?
  • И самое главное: можно ли как-нибудь принудительно это проверить?(установка даты устройства в будущее?)

Ответы [ 2 ]

7 голосов
/ 25 апреля 2012

Сброс оповещения о разрешениях push-уведомлений на iOS
Когда приложение с поддержкой push-уведомлений регистрируется в первый раз, iOS запрашивает пользователя, хотят ли они получать уведомления дляэто приложение.После того как пользователь ответил на это предупреждение, оно больше не будет отображаться, пока устройство не будет восстановлено или приложение не будет удалено в течение как минимум одного дня.

Если вы хотите смоделировать первый запуск приложения,Вы можете оставить приложение удаленным на один день.Вы можете достичь последнего, фактически не ожидая дня, установив системные часы на день вперед или более, полностью выключив устройство, а затем снова включив его.

1 голос
/ 08 февраля 2012

Реализация того, как Notification Center хранит настройки, является частной и недокументированной, но поскольку iOS основана на Mac OSX, она, вероятно, сохраняет настройки таким же образом - как файлы, названные на основе идентификатора вашего приложения в системном каталоге, а НЕ вструктура каталогов для вашего приложения.Вы можете убедиться в этом, изменив идентификатор вашего приложения (но не чего-либо еще) и проверив предыдущие настройки параметров.Это не кеширование, это просто выбранная им реализация сохранения этих данных.Маловероятно, что вы можете сделать что-либо, чтобы заставить его «забыть» предпочтение удаленному приложению.

...