苹果本地推送的服务

原创 2015年11月21日 11:06:10

苹果推送主要分为服务器的推送和本地的推送 服务器的推送主要是要注册ID 所以暂不说 先把本地的推送代码附上

逻辑图如下

事件发生时 把推送发到APNS

本地推送是NSLocalNotification实现的 

通过在AppDelegate.swift中添加代码,主要在其中添加添加推送服务

App第一次执行时被执行过一次,每次App从后台激活时都不执行该方法

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

当有电话进来或者锁屏时,应用程序挂起 会调用该方法

   func applicationWillResignActive(application: UIApplication) {

应用程序进入后台,执行该方法

  func applicationDidEnterBackground(application: UIApplication) {
应用程序从后台回到前台 执行该方法

  func applicationWillEnterForeground(application: UIApplication) {


应用程序重新进入活动状态  执行改方法

 func applicationDidBecomeActive(application: UIApplication) {
应用程序将要推出,通常是用来保存数据和一些推出前的清理工作

  func applicationWillTerminate(application: UIApplication) {
注册本地账号 收到推送得到用户的许可 在didFinishLaunchingWithOptions中添加代码

let ver = UIDevice.currentDevice().systemVersion
        if (ver as NSString).floatValue >= 8.0 {
            application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Sound , categories:nil ))
        }

在程序进入后台时议添加本地推送 用户应用或者应用重新被激活时,需要删除本地推送

在 applicationDidEnterBackground中添加代码

//清除所有的本地推送
        UIApplication.sharedApplication().cancelAllLocalNotifications()
        //初始化本地通知对象
        let notification = UILocalNotification()
        //设置通知的提醒时间
        var currentDate = NSDate()
        notification.fireDate = currentDate.dateByAddingTimeInterval(5.0)
        //设置推送使用本地时区
        notification.timeZone = NSTimeZone.defaultTimeZone()
        //设置重复的间隔
        notification.repeatInterval = NSCalendarUnit.Calendar
        //设置提醒的文字内容
        notification.alertBody = "5秒本地推送"
        //设置提醒的文字内容
        notification.alertAction = "我知道了"
        //通知提示音使用默认的
        notification.soundName = UILocalNotificationDefaultSoundName
        //设置应用程序右上角的提醒个数
        notification.applicationIconBadgeNumber = 1
        //设置通知的userInfo,用来标示该通知
        var aUserInfo = NSMutableDictionary()
        aUserInfo["KLocalNotificationID"] = "LocalNotificationID"
        notification.userInfo = aUserInfo as [NSObject : AnyObject]
        //将通知添加到系统当中
        UIApplication.sharedApplication().scheduleLocalNotification(notification)    }

应用程序退出后 5秒钟 会出现推送

收到推送 如果点击 会重新进入App 此时调佣 didReceiveLocalNotification方法

//收到本地推送的通知
    func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
        //设置badge的数目
        UIApplication.sharedApplication().applicationIconBadgeNumber = 0
        let alert = UIAlertController(title: "通知", message: "这是一个推送\(notification.alertBody)", preferredStyle: UIAlertControllerStyle.Alert)
        
        alert.showViewController(alert, sender: nil)
    }

实现本地的推送的取消

//当应用程序重新进入活动状态时调用该方法
    func applicationDidBecomeActive(application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    //清除本地所用推送 
        UIApplication.sharedApplication().cancelAllLocalNotifications()
        //初始化本地的通知对象
        let notification = UILocalNotification()
        //设置应用程序右上角的提醒个数
        notification.applicationIconBadgeNumber = 0
    }



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

苹果ios推送java服务端耗码demo

  • 2016年09月05日 15:10
  • 2.23MB
  • 下载

苹果推送服务端java 代码简解

苹果APNS推送文字图片,视频,音频,java 服务端实现的功能

苹果推送通知服务(APNs)编程

iPhone 对于应用程序在后台运行有诸多限制(除非你越狱)。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息...
  • zzxian
  • zzxian
  • 2012年07月09日 16:23
  • 901

Apple Push Notification Services (APNS)苹果推送通知服务

One of the key limitations of the iPhone is its constraint on running applications in the background...

苹果推送通知服务中的iOS 教程

2013年4月12日更新:全面更新为iOS 6(通过原帖MATTHIJS Hollemans,按更新阿里Hafizji)。 在iOS上,应用程序不能在后台做了很多。应用程序只允许做有限的活动集合...

苹果通知推送服务(APNS)一些关键特性摘要

转自:http://ramosli.iteye.com/blog/1940843 前段时间,仔细研究了APNS的文档,把一些关键的地方记录了下来,弄懂这些对于理解APNS的规则,至关重要。 ...
  • ttomqq
  • ttomqq
  • 2015年09月07日 09:13
  • 308

手把手教你配置苹果APNS推送服务

http://my.oschina.net/hejunbinlan/blog/494721 摘要 手把手教你配置苹果APNS推送服务 目录[-] 1. 什么是推送通知...

苹果推送服务(APNs)中文文档

工作中需要用到APNs服务,所以打算将APNs的官方文档翻译出来,供有需求的朋友一起参考,水平有限,难免出错,还望不吝赐教。总览本地通知和远程通知本地通知和远程通知就是所谓的两种不同类型的通知,他们的...

Apple Push Notification Service(苹果推送服务)

https://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificati...

苹果原生推送服务

苹果原生推送服务   一、APNS的推送机制 二、APNS推送步骤 三、APNS推送的详细工作流程 四、APNS推送开发准备 五、研发与测试...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:苹果本地推送的服务
举报原因:
原因补充:

(最多只允许输入30个字)