本地通知前要先注册通知:
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerForRemoteNotifications)])
{
UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types
categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
else
{
//在ios8之前的方法:
UIRemoteNotificationType types = UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge;
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:types];
}
// 初始化本地通知对象
UILocalNotification
*notification = [[
UILocalNotification
alloc] init];
if
(notification) {
// 设置通知的提醒时间
NSDate
*currentDate = [
NSDate
date];
notification.timeZone = [
NSTimeZone
defaultTimeZone];
// 使用本地时区
notification.fireDate = [currentDate dateByAddingTimeInterval:5.0];
// 设置重复间隔
notification.repeatInterval = kCFCalendarUnitDay;
// 设置提醒的文字内容
notification.alertBody = @
"Wake up, man"
;
notification.alertAction =
NSLocalizedString
(@
"起床了"
,
nil
);
// 通知提示音 使用默认的
notification.soundName=
UILocalNotificationDefaultSoundName
;
// 设置应用程序右上角的提醒个数
notification.applicationIconBadgeNumber++;
// 将通知添加到系统中
[[
UIApplication
sharedApplication] scheduleLocalNotification:notification];
}
//t推送接收
- (
void
)application:(
UIApplication
*)application didReceiveLocalNotification:(
UILocalNotification
*)notification{
NSLog
(@
"____++++++"
);
}
//t推送接收
- (
void
)application:(
UIApplication
*)application didReceiveRemoteNotification:(
NSDictionary
*)userInfo fetchCompletionHandler:(
void
(^)(
UIBackgroundFetchResult
))completionHandler {}