在IOS8及IOS9中使用UILocationNotification本地推送时不显示推送
来源:互联网 发布:java模板t 编辑:程序博客网 时间:2024/05/19 06:39
在尝试使用UILocalNotification中,不论怎么设置,推送都不会显示。之前还以为是本机时间的问题,在本机时间里设置了半天,还重新看了NSDate类。还是没弄成功。
最后查阅多方发现:
**
在IOS8以后,要推送通知,都要获取用户的权限(即需要用户同意)才可以推送
**
想要获取用户权限,要添加以下代码在AppDelegate.m文件中。
AppDelegate.m文件中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; [application registerUserNotificationSettings:setting]; return YES;}
UIUserNotificationType 是一个枚举
在头文件的原型如下
typedef NS_OPTIONS(NSUInteger, UIUserNotificationType) { UIUserNotificationTypeNone = 0, UIUserNotificationTypeBadge = 1 << 0, UIUserNotificationTypeSound = 1 << 1, UIUserNotificationTypeAlert = 1 << 2,}
UIUserNotificationTypeNone 表示不推送
UIUserNotificationTypeBadge 表示接受图标又上角的数值改变(就是强迫症很讨厌的99+的那个数字)
UIUserNotificationTypeSound 表示接受声音
UIUserNotificationTypeAlert 表示接受提醒(横幅/弹窗)
你想要获取用户哪几种权限,全部写上即可,中间用” | ” 符号隔开。
然后执行
[application registerUserNotificationSettings:setting];
将你的设置加入用户注册通知中。
运行后,就会通知用户,要获取权限。好就是获取权限,不好就是不给权限。
点过一次,下次就不会再提醒了,就算你程序退出了,下次也不会提醒
新手初学IOS,如有什么错误的地方,还请大神指教。
0 0
- 在IOS8及IOS9中使用UILocationNotification本地推送时不显示推送
- 在iOS8之后, 本地推送 ,
- iOS8 远程推送/用户推送/本地推送/地理位置推送
- 推送通知在iOS8中变化
- ios8 注册本地推送通知
- IOS中使用本地推送
- 本地推送及远程推送
- android不使用推送,在桌面图标上显示消息数量
- iOS9一下本地推送的代码实现
- ios8 推送
- iOS8推送
- iOS本地推送的实现,兼容iOS8
- iOS本地推送使用
- 在iOS8之后的远程推送写法
- ios8中百度推送接收不到
- 推送通知-本地推送
- 推送原理及使用
- IOS中本地推送实例
- Delete a DesktopGroup
- mysql数据库常用命令
- 【黑马程序员】StringBuffer,Array,Integer,BigInteger,Date,Calendar,集合——Java复习笔记
- [sicily]1433. Optimal Parking
- @Controller、@RequestMapping
- 在IOS8及IOS9中使用UILocationNotification本地推送时不显示推送
- Java基础(14):网络编程之socket
- UIPickerView
- Android开源BezierView:仿QQ未读消息99+条的红色气泡
- 数据结构与算法javascript描述(五) 选择排序
- AudioManager的简单使用
- UIDatePicker
- Http基础学习
- Photos框架学习备忘