博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
阅读量:5237 次
发布时间:2019-06-14

本文共 1142 字,大约阅读时间需要 3 分钟。

 

在IOS7中设置applicationIconBadgeNumber不会有什么问题,但是直接在IOS8中设置applicationIconBadgeNumber会报错。因为在IOS8中要想设置applicationIconBadgeNumber,需要用户的授权,在IOS8中,需要加上下面的代码:

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

但是这两句如果是在IOS7的系统中运行的话就会报错,所以需要先判断IOS的版本,完整代码如下:

float version = [[[UIDevice currentDevice] systemVersion] floatValue];    if (version >= 8.0) {    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];}

如果是注册消息推送的话,需要这样写:

float version = [[[UIDevice currentDevice] systemVersion] floatValue];if (version >= 8.0) {    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];    [application registerForRemoteNotifications];}

 

转载于:https://www.cnblogs.com/yongdaimi/p/6040711.html

你可能感兴趣的文章
设计模式之单例模式
查看>>
关于网络安全的一些思考
查看>>
数据库和集合
查看>>
数组排序 block排序 和数组内排序
查看>>
Linux之-命令
查看>>
CSS中强大的EM
查看>>
前序,中序,后序问题
查看>>
计算属性和监听,computed,watch
查看>>
队列的实现
查看>>
Spring Boot入门
查看>>
TOJ2811: Bessie's Weight Problem(完全背包)
查看>>
[转载]兔子怎样证明自己不是骆驼
查看>>
laravel 分页小技巧(不使用laravel自带的分页情况下)
查看>>
用PHP向数据库中实现简单的增删改查(纯代码)
查看>>
Android调用WCF
查看>>
微信支付问题
查看>>
使用ConfuserEx加密混淆程序以及如何脱壳反编译
查看>>
C++结构体的初始化问题
查看>>
spark DataSetHolder.toDF 的问题
查看>>
自定义搜索程序
查看>>