首页 > 代码库 > IOS应用桌面icon上不显示角标问题修复

IOS应用桌面icon上不显示角标问题修复

今天在做消息通知,要在桌面图标的icon上显示消息数,例如

技术分享,在程序里也加上了代码:[UIApplication sharedApplication].applicationIconBadgeNumber = 25;

但是怎么搞就是不显示,最后查资料发现在ios8系统里必须先得让用户授权才能显示,可以在代码里加上如下代码


if (IS_IOS8) {
        UIUserNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
        UIUserNotificationSettings *mySetting = [UIUserNotificationSettings settingsForTypes:myType categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:mySetting];
    }else{
        UIRemoteNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myType];
    }


其中IS_IOS8是我加的宏定义,用来判断是不是ios8,代码如下:


#define IS_IOS8 ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0)

这样,重新启动app后,会弹出一个提示用户授权的提示框,选择OK就可以了,这样就可以在桌面上显示角标数了,然后去手机-设置里面查看,会有惊喜,设置里面多了个我们的app,如下图:

技术分享


IOS应用桌面icon上不显示角标问题修复