iOS消息推送的工作機(jī)制可以簡(jiǎn)單的用下圖來(lái)概括:

Provider是指某個(gè)iPhone軟件的Push服務(wù)器,APNS是Apple Push Notification Service的縮寫(xiě),是蘋(píng)果的服務(wù)器。
上圖可以分為三個(gè)階段:
第一階段:應(yīng)用程序把要發(fā)送的消息、目的iPhone的標(biāo)識(shí)打包,發(fā)給APNS。
第二階段:APNS在自身的已注冊(cè)Push服務(wù)的iPhone列表中,查找有相應(yīng)標(biāo)識(shí)的iPhone,并把消息發(fā)送到iPhone。
第三階段:iPhone把發(fā)來(lái)的消息傳遞給相應(yīng)的應(yīng)用程序,并且按照設(shè)定彈出Push通知。

從上圖我們可以看到:
1、應(yīng)用程序注冊(cè)消息推送。
2、iOS從APNS Server獲取device token,應(yīng)用程序接收device token。
3、應(yīng)用程序?qū)evice token發(fā)送給PUSH服務(wù)端程序。
4、服務(wù)端程序向APNS服務(wù)發(fā)送消息。
5、APNS服務(wù)將消息發(fā)送給iPhone應(yīng)用程序。
無(wú)論是iPhone客戶端和APNS,還是Provider和APNS,都需要通過(guò)證書(shū)進(jìn)行連接。