日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

          歡迎訪問 生活随笔!

          生活随笔

          當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

          编程问答

          Swift - 本地消息的推送通知(附样例)

          發布時間:2025/3/19 编程问答 29 豆豆
          生活随笔 收集整理的這篇文章主要介紹了 Swift - 本地消息的推送通知(附样例) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
          使用UILocalNotification可以很方便的實現消息的推送功能。我們可以設置這個消息的推送時間,推送內容等。 當推送時間一到,不管用戶在桌面還是其他應用中,屏幕上方會都顯示出推送消息。
          1,推送消息的發送 ??

          --- AppDelegate.swift ---
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { ????var window: UIWindow? ????func application(application: UIApplication, ????????didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { ????????//開啟通知 ????????let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], ????????????categories: nil) ????????application.registerUserNotificationSettings(settings) ????????return true ????} ????func applicationWillResignActive(application: UIApplication) { ????} ????func applicationDidEnterBackground(application: UIApplication) { ????} ????func applicationWillEnterForeground(application: UIApplication) { ????} ????func applicationDidBecomeActive(application: UIApplication) { ????} ????func applicationWillTerminate(application: UIApplication) { ????} }

          --- ViewController.swift ---
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 import UIKit class ViewController: UIViewController { ????override func viewDidLoad() { ????????super.viewDidLoad() ????????? ????????//發送通知消息 ????????scheduleNotification(12345); ????????//清除所有本地推送 ????????//UIApplication.sharedApplication().cancelAllLocalNotifications() ????} ????? ????//發送通知消息 ????func scheduleNotification(itemID:Int){ ????????//如果已存在該通知消息,則先取消 ????????cancelNotification(itemID) ????????? ????????//創建UILocalNotification來進行本地消息通知 ????????let localNotification = UILocalNotification() ????????//推送時間(設置為30秒以后) ????????localNotification.fireDate = NSDate(timeIntervalSinceNow: 30) ????????//時區 ????????localNotification.timeZone = NSTimeZone.defaultTimeZone() ????????//推送內容 ????????localNotification.alertBody = "來自hangge.com的本地消息" ????????//聲音 ????????localNotification.soundName = UILocalNotificationDefaultSoundName ????????//額外信息 ????????localNotification.userInfo = ["ItemID":itemID] ????????UIApplication.sharedApplication().scheduleLocalNotification(localNotification) ????} ????? ????//取消通知消息 ????func cancelNotification(itemID:Int){ ????????//通過itemID獲取已有的消息推送,然后刪除掉,以便重新判斷 ????????let existingNotification = self.notificationForThisItem(itemID) as UILocalNotification? ????????if existingNotification != nil { ????????????//如果existingNotification不為nil,就取消消息推送 ????????????UIApplication.sharedApplication().cancelLocalNotification(existingNotification!) ????????} ????} ????? ????//通過遍歷所有消息推送,通過itemid的對比,返回UIlocalNotification ????func notificationForThisItem(itemID:Int)-> UILocalNotification? { ????????let allNotifications = UIApplication.sharedApplication().scheduledLocalNotifications ????????for notification in allNotifications! { ????????????let info = notification.userInfo as! [String:Int] ????????????let number = info["ItemID"] ????????????if number != nil && number == itemID { ????????????????return notification as UILocalNotification ????????????} ????????} ????????return nil ????} ????? ????override func didReceiveMemoryWarning() { ????????super.didReceiveMemoryWarning() ????} }

          2,點擊推送消息的響應
          收到推送,如果點擊推送內容,則會重新進入到App,這個時候會調用AppDelegate中的func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification)代理方法。 在這個方法中我們可以根據推送的消息內容實現相關的功能。
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 func application(application: UIApplication, ????didReceiveLocalNotification notification: UILocalNotification) { ????????//設定Badge數目 ????????UIApplication.sharedApplication().applicationIconBadgeNumber = 0 ????????????? ????????let info = notification.userInfo as! [String:Int] ????????let number = info["ItemID"] ????????????? ????????let alertController = UIAlertController(title: "本地通知", ????????????????message: "消息內容:\(notification.alertBody)用戶數據:\(number)", ????????????????preferredStyle: UIAlertControllerStyle.Alert) ????????????? ????????self.window?.rootViewController!.presentViewController(alertController, ????????????????animated: true, completion: nil) }

          總結

          以上是生活随笔為你收集整理的Swift - 本地消息的推送通知(附样例)的全部內容,希望文章能夠幫你解決所遇到的問題。

          如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

          主站蜘蛛池模板: 久久尤物视频 | 一级毛片基地 | 国产免费一区二区三区免费视频 | 中文字幕日日 | jizz少妇 | 欧美一区二区三区四区在线观看 | 韩国一区二区三区四区 | 欧美黄色大片免费观看 | 自拍偷拍校园春色 | 中文字幕一区二区久久人妻 | 黄色片免费在线 | 亚洲视频小说 | 丰满女人又爽又紧又丰满 | h片在线观看网站 | 国产婷婷一区二区 | 久久久久亚洲无码 | 一道本一区二区 | 一区二区三区视频在线免费观看 | 久久久99精品免费观看 | 丁香花电影免费播放电影 | 成人短视频在线免费观看 | 天天射,天天干 | 老女人一毛片 | 美国毛片av | 青草视频在线免费观看 | 黑人巨大猛交丰满少妇 | 成人午夜av在线 | 免费无毒av | 高h捆绑拘束调教小说 | 精品人妻人伦一区二区有限公司 | 波多野结衣一二区 | 韩国三级一区 | 玩日本老头很兴奋xxxx | 2020狠狠干 | 美女91网站 | 亚洲中文字幕97久久精品少妇 | 亚洲国产综合一区 | 伊人色爱 | 日韩精品极品视频在线观看免费 | 亚洲在线中文字幕 | 中文字幕在线观看国产 | 免费看污黄网站在线观看 | 国产精品福利在线观看 | 欧美日韩电影一区 | 十八禁毛片 | 久久精品波多野结衣 | 小早川怜子久久精品中文字幕 | heyzo朝桐光一区二区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 一区二区激情 | 性欧美大战久久久久久久免费观看 | 久久久线视频 10 | 91免费看.| 国产成人精品av久久 | 欧美日韩激情在线一区二区三区 | 99热在线这里只有精品 | 日韩欧美在线观看一区二区 | 久久爰 | 欧美乱码精品一区二区 | 青娱乐在线视频免费观看 | 欧美一级专区免费大片 | 中文字幕22页| jizz性欧美2 视频在线日韩 | 丰满少妇一区二区 | 日韩在线精品视频 | 天天干天天色天天 | 无遮挡国产 | 国产精品无码一区二区三区 | 天天色影网 | 色综合天天综合网国产成人网 | 欧美日韩三级视频 | 91欧美日韩国产 | 波多野结衣在线视频免费观看 | 国产一级黄色电影 | 日韩少妇一区 | 五月婷婷丁香花 | 欧美黄色激情视频 | 狠狠精品干练久久久无码中文字幕 | 亚洲福利天堂 | 麻豆久久久久久久 | 成人片黄网站色大片免费毛片 | 夜色视频网 | 久久这里只有精品久久 | 国产欧美一区二区 | 色婷婷久久综合中文久久蜜桃av | 国产高清不卡视频 | 国产精品国产三级国产aⅴ无密码 | 久久国产精品国产精品 | 手机免费看av | 日韩高清网站 | 在线视频免费观看一区 | 2019中文在线观看 | 亚洲欧美国产高清 | 国产免费黄色片 | 日韩美女视频19 | 69xx国产| 深夜影院在线观看 | 不卡的一区二区 | 亚洲视频黄 |