首页 文章 精选 留言 我的

精选列表

搜索[消息推送],共10004篇文章
优秀的个人博客,低调大师

iOS本地推送通知的基本使用

iOS10以前本地通知(UILocalNotification) 使用步骤: 创建一个UILocalNotification对象 设置触发时间及标题、内容 注册并安排通知 // 1. 创建一个UILocalNotification对象 let localNotification = UILocalNotification() // 2. 设置触发时间及标题、内容 localNotification.fireDate = Date(timeIntervalSinceNow: 3) localNotification.alertTitle = "Title" localNotification.alertBody = "alertBodyalertBodyalertBodyalertBody" // 0. 注册通知(一般在程序刚启动时注册通知) UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .alert, .sound], categories: nil)) // 3. 安排通知 UIApplication.shared.scheduleLocalNotification(localNotification) UILocalNotification的其他属性 applicationIconBadgeNumber :应用程序图标上的数字标记 repeatInterval :重复间隔(按照年、月、日、时、分重复) soundName :发出通知时的提示音,使用UILocalNotificationDefaultSoundName或者指定的音频文件名 userInfo :与通知相关的额外的字典,用户在通知上看不到此数据 应用程序处理收到的通知 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // ...... // 点击通知启动程序(程序不在前台也不在后台,即程序退出时),在此可获取被点击的通知并处理 if let localNotification = launchOptions?[.localNotification] { print(localNotification) } return true } // 应用程序收到通知时,在此方法中处理收到的通知 func application(_ application: UIApplication, didReceive notification: UILocalNotification) { print(notification) } iOS10+使用通知请求(UNNotificationRequest)创建本地通知 使用步骤 请求授权 创建通知内容 创建通知触发时间 使用唯一标识字符串、内容、触发器创建通知请求 将通知请求加到通知中心 // 1. 创建通知内容 let content = UNMutableNotificationContent() // 标题 content.title = NSString.localizedUserNotificationString(forKey: "Hello!", arguments: nil) // 内容 content.body = NSString.localizedUserNotificationString(forKey: "Hello_message_body", arguments: nil) // 通知提示音 content.sound = .default // 2. 创建通知触发器 // Deliver the notification in five seconds. let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false) // 3. 使用唯一标识字符串、内容、触发器创建通知请求 let uuidString = UUID().uuidString let request = UNNotificationRequest(identifier: uuidString, content: content, trigger: trigger) // 获取当前程序的通知中心 let notificationCenter = UNUserNotificationCenter.current() // 设置代理,用来处理收到的通知 notificationCenter.delegate = self // 0. 请求授权(一般在程序刚启动时请求通知授权) notificationCenter.requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in } // 4. 将通知请求加到通知中心 notificationCenter.add(request) { (error) in if error != nil { // Handle any errors. } } UNMutableNotificationContent 的其他常用属性 subtitle :子标题 badge :应用程序图标上的数字标记 userInfo :与通知相关的额外的字典,用户在通知上看不到此数据 UNNotificationTrigger 常见的通知触发器 UNTimeIntervalNotificationTrigger : 几秒后触发,如果要设置可重复触发需要大于60 UNCalendarNotificationTrigger :某年某月某日某天某时某分某秒触发 UNLocationNotificationTrigger :在某个位置触发 处理接收到的通知(使用UNUserNotificationCenterDelegate中的两个方法) // Asks the delegate to process the user's response to a delivered notification. func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { // 处理代码 ...... completionHandler() } // 应用程序运行在前台时,此方法处理收到的通知 func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { // 处理代码 ...... completionHandler(.sound) }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册