你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 【iOS】iOS消息推送機制的實現

【iOS】iOS消息推送機制的實現

編輯:IOS技巧綜合
[摘要]本文是對【iOS】iOS消息推送機制的實現的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

iOS消息推送的工作機制可以簡單的用下圖來概括:

[[UIApplicationsharedApplication]registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeBadge)];

通過registerForRemoteNotificationTypes方法,告訴應用程序,能接受push來的通知。

在項目的AppDelegate中添加下面的方法來獲取deviceToken:

Ios代碼

-(void)application:(UIApplication*)appdidRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken{
NSString*token=[NSStringstringWithFormat:@"%@",deviceToken];
NSLog(@"Mytokenis:%@",token);
}

-(void)application:(UIApplication*)appdidFailToRegisterForRemoteNotificationsWithError:(NSError*)error{
NSString*error_str=[NSStringstringWithFormat:@"%@",error];
NSLog(@"Failedtogettoken,error:%@",error_str);
}

獲取到的deviceToken,我們可以提交給後台應用程序,發送通知的後台應用程序除了需要知道deviceToken之外,還需要一個與APNS連接的證書。

這個證書可以通過我們前面生成的兩個文件中得到。

1、將aps_developer_identity.cer轉換成aps_developer_identity.pem格式

Shell代碼

opensslx509-inaps_developer_identity.cer-informDER-outaps_developer_identity.pem-outformPEM

2、將p12格式的私鑰轉換成pem

Shell代碼

opensslpkcs12-nocerts-outPush_Noenc.pem-inPush.p12

3、創建p12文件

Shell代碼

opensslpkcs12-export-inaps_developer_identity.pem-inkeyPush_Noenc.pem-certfilePush.certSigningRequest-name"aps_developer_identity"-outaps_developer_identity.p12

這樣我們就得到了在.net或java等後台應用程序中使用的證書文件:aps_developer_identity.p12

如果後台應用是php的話,那麼可以按照iOS消息推送機制中pem文件的生成這篇文章中的方法來生成php後台應用程序中使用的證書文件:ck.pem

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved