#iphone #notifications #ios5 #local
#iPhone #уведомления #ios5 #Местные новости
Вопрос:
После настройки всего в центре уведомлений, что позволяет приложению отображать уведомление, локальное уведомление моего приложения не запускается.
Вы сталкиваетесь с такой же проблемой?
дополнительная информация:
- То же приложение, скомпилированное из того же исходного кода несколько дней назад, которое было скомпилировано с XCode 4.1 и iOS 4.3 SDK, все работает хорошо.
- Кроме того, приложение, скомпилированное со старой версией XCode и iOS SDK, может работать на iOS5 после обновления.
Однако приложение, скомпилированное с тем же кодом, но с XCode 4.2 и iOS5 SDK, не работает.
У вас есть какие-нибудь идеи? Или есть какая-то специальная работа для iOS5?
Пример кода выглядит так:
UIApplication *app = [UIApplication sharedApplication];
NSArray *oldNotifications = [app scheduledLocalNotifications];
// Clear out the old notification before scheduling a new one.
if (0 < [oldNotifications count]) {
[app cancelAllLocalNotifications];
}
// Create a new notification
UILocalNotification *alarm = [[UILocalNotification alloc] init];
if (alarm) {
alarm.fireDate = theDate;
alarm.timeZone = [NSTimeZone defaultTimeZone];
alarm.repeatInterval = NSDayCalendarUnit; //repeat every day
alarm.alertBody = [NSString stringWithFormat:@"alert"];
[app scheduleLocalNotification:alarm];
[alarm release];
}
Спасибо,
Майкл
Ответ №1:
В iOS 5 уведомления управляются Центром уведомлений. Вы должны зарегистрировать свое приложение в Центре уведомлений (программно) или (непрограммно) перейти Settings > Notifications
и выбрать соответствующие настройки, т.Е. Включить центр уведомлений, выбрать стиль оповещения и другие.
Вы можете использовать следующий фрагмент кода для регистрации вашего приложения в Центре уведомлений (программно), поместив его в applicationDidFinishLaunching:
:
// Although Register For Remote Notifications is not required for Local Notifications,
// but in iOS 5's Notifications, we have to register otherwise the system doesn't register/recognize
// the notifications posted from the application. Note that this behavior is not documented
// as of Oct 2011, and it's possible that it's a bug and will be handled in the future releases.
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound];
HTH.
Комментарии:
1. Нужно ли также настраивать идентификатор приложения и SSL-сертификат для включения службы APN?
2. Спасибо за ответ.. Также у UILocalNotificationDefaultSoundName есть некоторые проблемы в iOS 5.0.