iOS-推送相关

推送消息出现情景和处理办法

1. 当程序处于关闭状态收到推送消息时,点击推送图标会调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions这个方法,那么消息给通过launchOptions这个参数获取到。

2. 当程序处于前台工作时,这时候若收到消息推送,会调用- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法

3. 当程序处于后台运行时,这时候若收到消息推送,如果点击消息或者点击消息图标时,也会调用- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法

判断用户是否开启通知

lettypes =UIApplication.shared.currentUserNotificationSettings?.types

publicstaticvarbadge:UIUserNotificationType{get}// 数字提示

publicstaticvarsound:UIUserNotificationType{get}// 声音

publicstaticvaralert:UIUserNotificationType{get}// 提醒

如果开启了完整的通知,那么 types 就包含了以上三个,所以如果需要严格的判断是否开始了通知:

types.contains([.alert, .badge, .sound])

如果只是判断是不是显示通知提醒的弹窗那么就是:

types.contains([.alert])

你可能感兴趣的:(iOS-推送相关)