破晓 发表于 2015-4-7 15:49:32

iOS本地推送

第一步:创建本地推送

// 创建一个本地推送
UILocalNotification *notification = [[ init] autorelease];
//设置10秒之后
NSDate *pushDate = ;
if (notification != nil) {
    // 设置推送时间
    notification.fireDate = pushDate;
    // 设置时区
    notification.timeZone = ;
    // 设置重复间隔
    notification.repeatInterval = kCFCalendarUnitDay;
    // 推送声音
    notification.soundName = UILocalNotificationDefaultSoundName;
    // 推送内容
    notification.alertBody = @"推送内容";
    //显示在icon上的红色圈中的数子
    notification.applicationIconBadgeNumber = 1;
    //设置userinfo 方便在之后需要撤销的时候使用
    NSDictionary *info = ;
    notification.userInfo = info;
    //添加推送到UIApplication      
    UIApplication *app = ;
    ;
   
}

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

第三步:解除本地推送

// 获得 UIApplication
UIApplication *app = ;
//获取本地推送数组
NSArray *localArray = ;
//声明本地通知对象
UILocalNotification *localNotification;
if (localArray) {
    for (UILocalNotification *noti in localArray) {
      NSDictionary *dict = noti.userInfo;
      if (dict) {
            NSString *inKey = ;
            if () {
                if (localNotification){
                  ;
                  localNotification = nil;
                }
                localNotification = ;
                break;
            }
      }
    }
   
    //判断是否找到已经存在的相同key的推送
    if (!localNotification) {
      //不存在初始化
      localNotification = [ init];
    }
   
    if (localNotification) {
      //不推送 取消推送
      ;
      ;
      return;
    }
}

本文来自:http://blog.sina.com.cn/s/blog_621403ef01010zmp.html
页: [1]
查看完整版本: iOS本地推送