本地推送

转载 2013年12月04日 15:30:37

第一步:创建本地推送

// 创建一个本地推送
UILocalNotification *notification = [[[UILocalNotificationalloc] init]autorelease];
//设置10秒之后
NSDate *pushDate = [NSDatedateWithTimeIntervalSinceNow: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 *notiin 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-OC-本地推送和取消本地推送服务

1.添加本地推送 // 设置本地通知 + (void)registerLocalNotification:(NSInteger)alertTime alertBody:(NSString *)ale...
  • u014220518
  • u014220518
  • 2016年05月24日 12:07
  • 3499

iOS本地推送(本地通知)

在iOS8之后,以前的本地推送写法可能会出错,接收不到推送的信息, 如果出现以下信息: 1 Attempting to schedule a local notification 2 with...
  • woaifen3344
  • woaifen3344
  • 2015年03月16日 11:06
  • 53216

iOS 的本地推送(swift实现)

以前曾经写过iOS的远程推送那时候是用OC语言实现的,现在简单的介绍一下iOS的本地推送 相比远程推送本地推送省略了麻烦的证书问题所以很简单。 一样的我们在程序的开始都需要注册推送: func a...
  • qq_30970529
  • qq_30970529
  • 2016年07月26日 18:28
  • 1639

Linux服务器利用crontab+workerman实现PHP定时向页面端推送消息

  • 2018年01月11日 23:44
  • 2KB
  • 下载

极光推送(极度简单配置)实现3分钟片测试成功 绝对值 (注明配置成功需要3分钟,这是官方问题)

  • 2018年01月11日 11:38
  • 19.19MB
  • 下载

极光推送 C# sdk

  • 2018年01月09日 14:56
  • 58KB
  • 下载

消息推送服务

  • 2017年11月02日 13:31
  • 38KB
  • 下载

友盟+消息推送Demo

  • 2017年09月28日 10:17
  • 4.42MB
  • 下载

DWR消息推送简单实例

  • 2017年04月10日 21:39
  • 26KB
  • 下载

iOS 推送测试php

  • 2016年03月01日 16:59
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:本地推送
举报原因:
原因补充:

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