第一階段:.net應用程序把要發送的消息、目的iPhone的標識打包,發給APNS。html
第二階段:APNS在自身的已註冊Push服務的iPhone列表中,查找有相應標識的iPhone,並把消息發到iPhone。xcode
第三階段:iPhone把發來的消息傳遞給相應的應用程序, 而且按照設定彈出Push通知。app
從上圖咱們能夠看到。url
一、首先是應用程序註冊消息推送。spa
二、 IOS跟APNS Server要deviceToken。應用程序接受deviceToken。.net
三、應用程序將deviceToken發送給PUSH服務端程序。code
四、 服務端程序向APNS服務發送消息。htm
五、APNS服務將消息發送給iPhone應用程序。blog
///////證書操做部分省略教程
在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來的通知。
三、在xcode中運行,會彈出下面的提示框:
選擇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);}