`

IOS本地推送

    博客分类:
  • IOS
 
阅读更多
第一步:创建本地推送
// 创建一个本地推送
UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
//设置10秒之后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
if (notification != nil) {
    // 设置推送时间
    notification.fireDate = pushDate;
    // 设置时区
    notification.timeZone = [NSTimeZone defaultTimeZone];
    // 设置重复间隔
    notification.repeatInterval = kCFCalendarUnitDay;
    // 推送声音
    notification.soundName = UILocalNotificationDefaultSoundName;
    // 推送内容
    notification.alertBody = @"推送内容";
    //显示在icon上的红色圈中的数子
    notification.applicationIconBadgeNumber = 1;
    //设置userinfo 方便在之后需要撤销的时候使用
    NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"];
    notification.userInfo = info;
    //添加推送到UIApplication       
    UIApplication *app = [UIApplication sharedApplication];
    [app scheduleLocalNotification:notification]; 
   
}

第二步:接收本地推送
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
    [alert show];
    // 图标上的数字减1
    application.applicationIconBadgeNumber -= 1;
}

第三步:解除本地推送
// 获得 UIApplication
UIApplication *app = [UIApplication sharedApplication];
//获取本地推送数组
NSArray *localArray = [app scheduledLocalNotifications];
//声明本地通知对象
UILocalNotification *localNotification;
if (localArray) {
    for (UILocalNotification *noti in localArray) {
        NSDictionary *dict = noti.userInfo;
        if (dict) {
            NSString *inKey = [dict objectForKey:@"key"];
            if ([inKey isEqualToString:@"对应的key值"]) {
                if (localNotification){
                    [localNotification release];
                    localNotification = nil;
                }
                localNotification = [noti retain];
                break;
            }
        }
    }
   
    //判断是否找到已经存在的相同key的推送
    if (!localNotification) {
        //不存在初始化
        localNotification = [[UILocalNotification alloc] init];
    }
   
    if (localNotification) {
        //不推送 取消推送
        [app cancelLocalNotification:localNotification];
        [localNotification release];
        return;
    }
}
分享到:
评论

相关推荐

    ios本地推送

    在iOS开发中,本地推送(Local Push Notification)是一种重要的用户交互手段,它允许应用程序在特定时间或特定条件下向用户发送提醒,即使应用未在后台运行也能实现。本篇将详细介绍iOS本地推送的实现方法,以及...

    iOS本地推送demo

    在iOS开发中,本地推送是一种重要的用户交互方式,它允许应用程序在后台向用户发送通知,即使应用未运行或被关闭。本示例“iOS本地推送demo”主要关注iOS8及更高版本中的本地推送功能,包括注册流程、消息回复处理...

    iOS本地推送封装(定时推送、重复提醒)简洁版

    在iOS应用开发中,本地推送通知(Local Notification)是一种重要的用户交互手段,它可以在应用不在前台运行时向用户展示信息,提升用户体验。本教程将详细讲解如何使用iOS本地推送进行封装,实现定时推送、重复提醒...

    iOS本地推送封装(定时推送、重复提醒)

    在iOS应用开发中,本地推送通知是用户与应用交互的重要方式之一,特别是在应用不处于前台运行状态时。本文将深入探讨如何对iOS本地推送进行封装,实现定时推送、重复提醒以及取消推送等功能,以提高开发效率。 首先...

    iOS 本地推送

    在iOS开发中,本地推送(Local Push Notification)是一种重要的用户交互机制,它允许应用程序在无需实际连接到远程服务器的情况下向用户发送通知。这种技术对于提醒用户应用中的重要事件或者触发某些功能尤为有用,...

    iOS本地推送

    iOS本地推送是iOS系统提供的一种服务,允许应用在不与远程服务器交互的情况下向用户发送通知。这在某些情况下非常有用,比如应用希望在特定时间(如用户设定的闹钟时间)或者满足特定条件(如地理位置变化)时提醒...

    iOS本地推送与远程推送详解

    ### iOS本地推送与远程推送详解 #### 一、概述 在iOS开发中,推送通知是一种非常重要的功能,它能够在应用程序不在前台运行时向用户发送消息提醒。根据推送方式的不同,可以将其分为本地推送和远程推送两种类型。...

    iOS10.0本地推送通知.

    以下是关于“iOS10.0本地推送通知”的详细知识点: 1. **本地通知**:与远程推送通知(通过Apple Push Notification Service, APNS)不同,本地通知是由应用本身在设备上创建和触发的,无需通过网络连接。它们在...

    本地推送(iOS)

    本地推送在iOS开发中是一项重要的功能,它允许应用程序在用户未直接与应用交互时向用户发送通知。这种机制使得开发者可以及时更新用户关于新消息、活动或其他重要信息的状态,即便用户没有打开应用也能获取到这些...

    iOS本地推送简单实现代码

    iOS本地推送是一种无需服务器参与,应用程序在本地触发通知的功能,常用于提醒用户某些特定时间或事件的发生。在iOS中,我们使用`UILocalNotification`类来实现本地推送。以下是对标题和描述中涉及的知识点的详细...

    IOS远程推送开发手册

    对于模拟器,由于不支持远程推送,你需要使用本地推送来测试。 4. **实现客户端代码**:在iOS应用中,你需要导入UserNotifications框架,并实现UNUserNotificationCenterDelegate协议。注册推送通知,设置用户交互...

    iOS开发本地和推送通知编程指南

    ### iOS开发本地和推送通知编程指南 #### 概览 本指南主要介绍如何在iOS应用中实现本地通知和推送通知的功能。本地通知是指由应用程序自身触发的通知,而推送通知则是指通过苹果推送通知服务(Apple Push ...

    ios推送工具.zip

    3. **本地推送与远程推送**: iOS中的推送通知分为本地推送和远程推送。本地推送由应用本身触发,而远程推送则由远程服务器发送,即使应用不在后台运行也能接收到。 4. **SmartPush-2.0**: 这可能是用于管理、创建和...

    iOS苹果推送apns测试工具.zip

    在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项功能,允许开发者向已安装其应用的iOS设备发送消息、通知和其他数据。`iOS苹果推送apns测试工具.zip`文件包含的...

    iOS 消息推送(iOS 工程源码)

    iOS消息推送是iOS应用开发中的一个重要特性,它允许应用程序在后台状态下接收服务器发送的通知,即使用户没有打开应用程序。本资源包含一个简单的iOS工程源码,用于实现这一功能。以下是关于iOS消息推送及其实现的...

    ios的服务器推送要点

    在iOS应用开发中,服务器推送是一项关键功能,它能让应用在后台状态下接收到来自服务器的通知,从而提升用户体验。本文将深入探讨iOS服务器推送的关键要点,包括Apple Push Notification Service(APNs)、推送通知...

    iOS信息推送总结

    - 开发者需要在Apple Developer Portal中创建并配置推送证书,这包括开发证书和生产证书,以区分测试和正式环境。 - 在Xcode项目中,需启用“Capabilities”中的“Push Notifications”,并添加相应的证书和描述...

    IOS推送消息docx文档

    iOS 推送消息技术详解 iOS 推送消息是许多 iOS 应用都具备的功能,它允许开发者向用户推送消息,提高用户体验和应用的粘性。本文将详细介绍 iOS 推送消息的工作机制、证书生成过程和工程代码实现。 一、iOS 推送...

Global site tag (gtag.js) - Google Analytics