iOS用戶端本地推送實現代碼_IOS

來源:互聯網
上載者:User

本文執行個體為大家分享了iOS本地推送的具體代碼,供大家參考,具體內容如下

首先建立全域的本地通知對象及彈出框

// 彈出本地訊息@property(nonatomic,strong)UILocalNotification *localNotification;@property(nonatomic,strong)UIAlertController *alertcontrol;其次在代碼中實現如下:- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {  // 判斷程式是否在開啟狀態,即是否在前台啟動並執行狀態  if (application.applicationState == UIApplicationStateActive) {    // 如果之前已經接受到訊息,並且使用者未對彈出框進行處理,關閉原來彈出框    if (self.localNotification) {      [self.alertcontrol dismissViewControllerAnimated:YES completion:nil];    }    [self bulidLocationNotification:application userinfo:userInfo];          }else{    // 判斷程式是否未開啟狀態,即是否在後台運行或關閉狀態,極光推送設定角標    if ([application applicationIconBadgeNumber]>0) {      [JPUSHService setBadge:[application applicationIconBadgeNumber]];    }  }    [JPUSHService handleRemoteNotification:userInfo];  NSLog(@"收到通知:%@", [self logDic:userInfo]);  completionHandler(UIBackgroundFetchResultNewData);}- (void)application:(UIApplication *)applicationdidReceiveLocalNotification:(UILocalNotification *)notification {  // 彈出訊息  if (self.localNotification) {    self.alertcontrol = [UIAlertController alertControllerWithTitle:@"" message:self.localNotification.alertBody preferredStyle:UIAlertControllerStyleAlert];    UIAlertAction *action = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {      self.localNotification = nil;      self.alertcontrol = nil;    }];    [self.alertcontrol addAction:action];    [self.window.rootViewController presentViewController:self.alertcontrol animated:YES completion:nil];      }}// 建立本地推送訊息-(void)bulidLocationNotification:(UIApplication *)application userinfo:(NSDictionary *)userInfo{  self.localNotification = [[UILocalNotification alloc]init];  self.localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:1];  self.localNotification.alertBody = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];  self.localNotification.alertAction = @"確定";  self.localNotification.soundName = @"sound.caf";  self.localNotification.userInfo = userInfo;  [application presentLocalNotificationNow:self.localNotification];}

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.