苹果本地推送的服务

原创 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
    }



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

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

http://my.oschina.net/hejunbinlan/blog/494721 摘要 手把手教你配置苹果APNS推送服务 目录[-] 1. 什么是推送通知...
  • u011303663
  • u011303663
  • 2016年04月09日 16:04
  • 2061

iOS实现服务器原生推送

iOS原生实现推送 一、iOS推送机制 Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器...
  • sinat_34380438
  • sinat_34380438
  • 2016年12月12日 14:14
  • 1999

苹果信息推送服务(Apple Push Notification Service)使用总结 .

来自http://blog.csdn.net/lifengzhong/article/details/7737028#     苹果信息推送服务(Apple Push Notification ...
  • a936676463
  • a936676463
  • 2013年01月31日 17:08
  • 33167

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

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

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

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

苹果信息推送服务(Apple Push Notification Service)使用总结

苹果信息推送服务(Apple Push Notification Service)使用总结 分类: iPhone Xcode Object-c 2014-02-26 14:04 27...
  • mkq029819
  • mkq029819
  • 2014年11月05日 12:51
  • 316

苹果消息推送服务教程:第一部分(共2部分)

转载自http://www.raywenderlich.com/zh-hans/24732/苹果消息推送服务教程:第一部分(共2部分) 这篇文章还可以在这里找到 英语 Learn how to...
  • SomnusLee1988
  • SomnusLee1988
  • 2013年12月30日 22:28
  • 841

苹果消息推送服务教程(三步曲)-超详细

在iOS系统中,在后台运行的程序能够进行的操作是非常有限的。这种限制是为了节省手机电池。 但是,如果你需要在用户没有使用你的程序的情况下给他们推送消息该怎么办呢? 打个比方,用户收到了一个来自推特...
  • github_15266665
  • github_15266665
  • 2014年09月14日 01:27
  • 1328

苹果信息推送服务(Apple Push Notification Service)使用总结

苹果信息推送服务(Apple Push Notification Service),是由苹果官方提供的消息推送服务。推送形式包括顶部消息条、声音以及badge number()有了APNS,应用程序可...
  • daiyelang
  • daiyelang
  • 2013年03月12日 09:30
  • 5071

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

1. If APNs attempts to deliver a notification but the device is offline, the notification is stored ...
  • qi_ruihua
  • qi_ruihua
  • 2014年04月28日 10:37
  • 874
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:苹果本地推送的服务
举报原因:
原因补充:

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