iOS项目开发实战——实现苹果本地消息通知推送服务
来源:互联网 发布:python入门视频 编辑:程序博客网 时间:2024/06/03 15:12
当你一个App在后台运行时,有可能服务器会向你推送重要的信息,常见的如微信,QQ等,就算你的App在后台,也会以通知的形式给你推送。推送服务分为本地推送和在线推送。本次我们先来实现本地推送通知。
(1)代码实现如下:
#import "AppDelegate.h"#import "ViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ return YES;}//程序从前台到后台时执行该方法;- (void)applicationDidEnterBackground:(UIApplication *)application{ //如果已经获得发送通知的授权则创建本地通知,否则请求授权(注意:如果不请求授权在设置中是没有对应的通知设置项的,也就是说如果从来没有发送过请求,即使通过设置也打不开消息允许设置) if ([[UIApplication sharedApplication]currentUserNotificationSettings].types != UIUserNotificationTypeNone) { [self addLocalNotification]; }else{ [[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]]; } }//程序在后台运行,再次打开时回调该方法;此时取消badge数字;- (void)applicationWillEnterForeground:(UIApplication *)application{ [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//进入前台取消应用消息图标}#pragma mark Notification-(void)addLocalNotification{ //定义本地通知对象 UILocalNotification *notification=[[UILocalNotification alloc] init]; //设置调用时间 notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:3.0];//通知触发的时间,10s以后 notification.repeatInterval = 2;//通知重复次数 //notification.repeatCalendar=[NSCalendar currentCalendar];//当前日历,使用前最好设置时区等信息以便能够自动同步时间 //设置通知属性 notification.alertBody=@"这是App推送的消息通知,哈哈"; //通知主体 notification.applicationIconBadgeNumber = 1;//应用程序图标右上角显示的消息数 notification.alertAction = @"打开应用"; //待机界面的滑动动作提示 notification.alertLaunchImage = @"Default";//通过点击通知打开应用时的启动图片,这里使用程序启动图片 //notification.soundName=UILocalNotificationDefaultSoundName;//收到通知时播放的声音,默认消息声音 notification.soundName = @"msg.caf";//通知声音(需要真机才能听到声音) //设置用户信息 notification.userInfo=@{@"id":@1,@"user":@"Kenshin Cui"};//绑定到通知上的其他附加信息 //调用通知 [[UIApplication sharedApplication] scheduleLocalNotification:notification];}@end
(2)程序运行如下:
。
。
。
。
(3)我设置的是应用程序退出后3s推送通知。可以发现App图标有一个红色的badge,就如同微信的一样。点击进去后,badge会消失。根据你自己的逻辑,是不是就可以方便的使用了呢?当然安装时需要用户授权。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
1 0
- iOS项目开发实战——实现苹果本地消息通知推送服务
- iOS苹果推送通知服务
- iOS开发消息推送机制——本地推送。
- iOS开发本地通知(每天定点发送消息推送)
- iOS开发推送本地通知
- iOS开发:本地通知(推送)
- 苹果推送通知服务中的iOS 教程
- 本地通知和推送通知 - iOS开发
- ios 本地通知与消息推送
- 苹果推送通知服务
- 苹果iOS消息推送服务教程
- IOS实现本地消息推送
- Unity IOS本地消息通知LocalNotification的使用—推送功能
- IOS开发—本地推送
- ios推送:本地通知(闹钟实现)
- IOS本地推送通知
- IOS 本地推送通知
- iOS 本地推送通知
- unsigned 隐式转换
- 多态疑难点
- 【Linux】最常用的20条命令
- HTTPS协议和SSL/TLS协议
- 简单的网页请求图片下载
- iOS项目开发实战——实现苹果本地消息通知推送服务
- SQL SERVER 存储大全以及常见实例
- 控制台出现abd端口被占用,导致android项目不能正常运行
- Linux中fork的使用(03)---使用if...else...区分父子进程特有的内容
- IOS - NSURLConnection大文件下载
- Html 中的背景(background)
- 协同过滤入门介绍(转)
- linux常用命令(38):iostat 命令
- objective-c @protocol