国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS10最新實現(xiàn)遠(yuǎn)程通知的開發(fā)教程詳解

2024-09-11 00:40:44
字體:
供稿:網(wǎng)友

一、iOS推送通知簡介

眾所周知蘋果的推送通知從iOS3開始出現(xiàn), 每一年都會更新一些新的用法. 譬如iOS7出現(xiàn)的Silent remote notifications(遠(yuǎn)程靜默推送), iOS8出現(xiàn)的Category(分類, 也可稱之為快捷回復(fù)), iOS9出現(xiàn)的Text Input action(文本框快捷回復(fù)).

而在iOS10, 蘋果可謂是大刀闊斧般的, 對遠(yuǎn)程通知和本地通知進(jìn)行了大范圍的更新. iOS10推出了全新的UserNotifications框架(iOS10之前從屬于UIKit框架).

新的推送通知框架, 整合了本地推送和遠(yuǎn)程推送的點擊處理方法, 使得以前專門處理推送點擊的方法只能處理靜默推送了.

二、遠(yuǎn)程推送通知介紹

1、什么是遠(yuǎn)程推送

在聯(lián)網(wǎng)的情況下,由遠(yuǎn)程服務(wù)器推送給客戶端的通知,又稱APNs(Apple Push Notification Services)不管應(yīng)用是打開還是關(guān)閉的情況下,都能接收到服務(wù)器推送的遠(yuǎn)程通知在聯(lián)網(wǎng)狀態(tài)下,所有蘋果設(shè)備都會與蘋果服務(wù)器建立長連接

2、遠(yuǎn)程推送的實現(xiàn)原理:

      1.打開App時: 發(fā)送UDIDBundleIDAPNs加密后返回deviceToken

      2.獲取Token后,App調(diào)用接口,將用戶身份信息和deviceToken發(fā)給服務(wù)器,服務(wù)器記錄

      3.當(dāng)推送消息時, 服務(wù)器按照用戶身份信息找到存儲的deviceToken,將消息和deviToken發(fā)送給APNs

      4.蘋果的APNs通過deviceToken, 找到指定設(shè)備的指定程序, 并將消息推送給用戶

3、實現(xiàn)遠(yuǎn)程推送功能的前提

      1.真機(jī)

      2.調(diào)試階段的證書

         iOS_development.cer 用于真機(jī)調(diào)試的證書

         aps_development.cer 用于真機(jī)推送調(diào)試能的證書

         xxx.mobileprovision 描述文件,記錄了能夠調(diào)試的手機(jī)、電腦和程序

      3.發(fā)布階段的證書

          iOS_distribution.cer 用于發(fā)布app的證書

          aps.cer 用于發(fā)布時,讓app有推送功能的證書

          xxx.mobileprovision 描述文件,記錄了能夠發(fā)布app的電腦

如何配置證書, 不在本教程內(nèi), 請讀者自行處理, 或者參考視頻教程

三、iOS10 全新遠(yuǎn)程通知教程

一、 注冊遠(yuǎn)程推送并獲取DeviceToken

1.創(chuàng)建iOS的項目,并輸入項目名字

2.在AppDelegate中導(dǎo)入頭文件:

 #import <UserNotifications/UserNotifications.h>

3.在application:didFinishLaunchingWithOptions方法中, 注冊遠(yuǎn)程通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  { //請求通知權(quán)限, 本地和遠(yuǎn)程共用 UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; [center requestAuthorizationWithOptions:UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert completionHandler:^(BOOL granted, NSError * _Nullable error) {  if (granted) {    NSLog(@"請求成功");     } else {     NSLog(@"請求失敗");     }    }]; //注冊遠(yuǎn)程通知 [[UIApplication sharedApplication] registerForRemoteNotifications]; //設(shè)置通知的代理 center.delegate = self; return YES; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大石桥市| 临城县| 浦北县| 唐海县| 乾安县| 河北区| 济南市| 太原市| 扶风县| 平江县| 剑河县| 河东区| 黄山市| 长丰县| 胶南市| 满洲里市| 宣城市| 吴堡县| 南投市| 鹿邑县| 铁力市| 信宜市| 阜南县| 麻阳| 苗栗县| 滕州市| 壤塘县| 鸡东县| 苍南县| 米林县| 新竹市| 曲沃县| 当雄县| 中山市| 来宾市| 东丽区| 榆树市| 乐平市| 阿拉尔市| 乡城县| SHOW|