本文共 1470 字,大约阅读时间需要 4 分钟。
推送通知的过程可以分为以下几步:
1. 应用服务提供商从服务器端把要发送的消息和设备令牌(device token)发送给苹果的消息推送服务器APNs。 2. APNs根据设备令牌在已注册的设备(iPhone、iPad、iTouch、mac等)查找对应的设备,将消息发送给相应的设备。 3. 客户端设备接将接收到的消息传递给相应的应用程序,应用程序根据用户设置弹出通知消息。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //想APNS(苹果推送服务器)注册远程推送通知,APNS返回device token float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 8.0) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeSound|UIUserNotificationTypeBadge categories:nil]]; //注册远程推送通知 [[UIApplication sharedApplication] registerForRemoteNotifications]; }else{ //ios8以下 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeBadge]; } return YES; } //当向APNS注册成功时的回调函数 -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NSLog(@"%@",deviceToken); //需要把deviceToken上传到服务端,要服务端提供接口 } -(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{ NSLog(@"%@",error.localizedDescription); } -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { NSLog(@"收到了远程推送通知"); }转载地址:http://hcsni.baihongyu.com/