IOS PUSH

      第一阶段:.net应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。

  第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。

  第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。

 

iOS开发如何实现消息推送机制


  从上图我们可以看到。

  1、首先是应用程序注册消息推送。

  2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

  3、应用程序将deviceToken发送给PUSH服务端程序。

  4、 服务端程序向APNS服务发送消息。

  5、APNS服务将消息发送给iPhone应用程序。

///////证书操作部分省略

在PushChatAppDelegate中的didFinishLaunchingWithOptions方法中加入下面代码:


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController
 = self.viewController;
[self.window makeKeyAndVisible];

// Let the device know we want to receive push notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge
 | UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)];

return YES;
}

通过registerForRemoteNotificationTypes方法,告诉应用程序,能接受push来的通知。

3、在xcode中运行,会弹出下面的提示框:

IOS开发系列之阿堂教程:苹果的push技术的实践

选择OK。表示此应用程序开启消息通知服务。

在 PushChatAppDelegate.m代码中添加下面方法获取deviceToken :


- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(
@"My token is: %@", deviceToken);
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(
@"Failed to get token, error: %@", error);
}
原文地址:https://www.cnblogs.com/rollrock/p/3738779.html