iOS 5: могу ли я иметь свое приложение «В центре уведомлений» по умолчанию?

#notifications #default #preferences #ios5 #uilocalnotification

#уведомления #По умолчанию #настройки #ios5 #uilocalnotification

Вопрос:

У меня есть приложение для iPad в App Store, логика которого в значительной степени зависит от локальных уведомлений. Другими словами, многое из того, что происходит внутри приложения, запускается методом делегирования application didReceiveLocalNotification.

С сегодняшним выпуском iOS 5 я вижу, что приложения можно размещать (через настройки) либо «В центре уведомлений», либо «Не в центре уведомлений». Я пока ничего не нашел в новой документации, но я надеюсь, что есть способ установить мое приложение «В центре уведомлений» по умолчанию (и, возможно, даже установить звуки активными, а тип уведомления — предупреждающим), что избавило бы меня от необходимости явно объяснять новым пользователям, что после того, как онизагрузите и установите мое приложение, им придется вручную перейти и выбрать, чтобы приложение было «В центре уведомлений».

Кто-нибудь знает, возможно ли это? Похоже, что, поскольку приложение может регистрировать локальное уведомление, оно должно иметь возможность получать его по умолчанию (независимо от того, отображает ли оно предупреждение или элемент в новом центре уведомлений или нет).). Заранее спасибо.

Ответ №1:

Я столкнулся с той же проблемой. Единственная подсказка, которую я видел в документации, заключается в том, что новый центр уведомлений обрабатывает как локальные, так и удаленные уведомления. Поэтому я предположил, что приложение должно зарегистрироваться для локального, как и для удаленного уведомления. Добавлен этот фрагмент кода —

 [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
  

и после того, как мое приложение запланировало локальное уведомление, оно появилось в «В центре уведомлений».

НО, похоже, это не влияет, если мое приложение уже отображается в «Не в центре уведомлений».. Итак, все ли мои клиенты, которые запускали приложение до следующего обновления, были испорчены?

Комментарии:

1. Ну, во всяком случае, это несколько полезно. Но да, я ненавижу, что люди, которые ранее устанавливали и запускали наши приложения, просто должны это понять. Я думаю, пришло время отправить сообщение об обновлении iOS 5 на мой веб-сайт поддержки и метаданные iTunes!

2. Не возражаете, если я спрошу, где вы добавили этот код? Есть ли для этого наилучшая практика? Еще раз спасибо за совет.

3. Я добавил его прямо в начале didFinishLaunchingWithOptions. Apple действительно раздражает, что приложения с только локальными уведомлениями по умолчанию отключены. Как насчет пользователей, которые не обновляли свои приложения из App Store?

4. Кажется, не работает, если вы на самом деле не используете push-уведомления, потому что в противном случае вызов завершается неудачно?

5. Не здесь, я не использую push, и регистрация сработала. Может быть, вы используете флаги, требующие нажатия?

Ответ №2:

В настоящее время, похоже, нет.

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

Комментарии:

1. Я тоже, но я решил, что выложу его там, поскольку я все еще относительно новичок в iOS, и подумал, что могу пропустить его.