iOS 本地推送
2015-11-03 09:53
513 查看
1.
创建本地推送
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个本地推送
UILocalNotification *notification = [[UILocalNotification alloc] init];
//设置10s后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
if (notification != nil)
{
//设置推送时间
notification.fireDate = pushDate;
//设置时区
notification.timeZone = [NSTimeZone defaultTimeZone];
//设置重复间隔
notification.repeatInterval = kCFCalendarUnitMinute;
//设置推送声音
notification.soundName = UILocalNotificationDefaultSoundName;
//推送内容
notification.alertBody = @"推送内容";
//推送标题
notification.alertTitle = @"本地推送";
//显示在app上的红色圈子中的数字
notification.applicationIconBadgeNumber = 1;
//设置userInfo ,方便在需要的撤销的时候使用
NSDictionary *info = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];
notification.userInfo = info;
//添加推送到application
UIApplication *app = [UIApplication sharedApplication];
[app scheduleLocalNotification:notification];
}
}
2.
接受本地推送
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alertView show];
//图标上的数字减1
application.applicationIconBadgeNumber -= 1;
}
//因为iOS8回接受不到推送,因此需要做些处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//处理iOS8本地推送不能收到
float sysVersion=[[UIDevice currentDevice]systemVersion].floatValue;
if (sysVersion>=8.0) {
UIUserNotificationType type=UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound;
UIUserNotificationSettings *setting=[UIUserNotificationSettings settingsForTypes:type categories:nil];
[[UIApplication sharedApplication]registerUserNotificationSettings:setting];
}
return YES;
}
The end
创建本地推送
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个本地推送
UILocalNotification *notification = [[UILocalNotification alloc] init];
//设置10s后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
if (notification != nil)
{
//设置推送时间
notification.fireDate = pushDate;
//设置时区
notification.timeZone = [NSTimeZone defaultTimeZone];
//设置重复间隔
notification.repeatInterval = kCFCalendarUnitMinute;
//设置推送声音
notification.soundName = UILocalNotificationDefaultSoundName;
//推送内容
notification.alertBody = @"推送内容";
//推送标题
notification.alertTitle = @"本地推送";
//显示在app上的红色圈子中的数字
notification.applicationIconBadgeNumber = 1;
//设置userInfo ,方便在需要的撤销的时候使用
NSDictionary *info = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];
notification.userInfo = info;
//添加推送到application
UIApplication *app = [UIApplication sharedApplication];
[app scheduleLocalNotification:notification];
}
}
2.
接受本地推送
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alertView show];
//图标上的数字减1
application.applicationIconBadgeNumber -= 1;
}
//因为iOS8回接受不到推送,因此需要做些处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//处理iOS8本地推送不能收到
float sysVersion=[[UIDevice currentDevice]systemVersion].floatValue;
if (sysVersion>=8.0) {
UIUserNotificationType type=UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound;
UIUserNotificationSettings *setting=[UIUserNotificationSettings settingsForTypes:type categories:nil];
[[UIApplication sharedApplication]registerUserNotificationSettings:setting];
}
return YES;
}
The end
相关文章推荐
- 数据持久化
- IOS修复两个导航栏状态不一致导致跳转时,导航栏黑底的问题
- ios NSTimer做的计时器(精确到微妙)
- iOS 开发传值 代理传值
- iOS中大流中的自定义cell 技术分享
- ios 读取通讯录
- iOS中 通知中心Text (实例)
- iOS中 通知中心Text (实例)
- iOS中大流中的自定义cell 技术分享
- iOS中大流中的自定义cell 技术分享
- ios消息队列APNS实现和证书申请
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- 蓝懿ios 技术内容和心得交流分享 11.2 打飞机主要步骤
- iOS数据持久化之归档
- iOS MBProgressHUD 的使用方法
- iOS 多线程
- iOS地图分析
- CoreData(1)
- iOS学习必备的7个开源项目
- iOS多线程GCD