UILocalNotification每隔一秒重复一次

时间:2014-01-15 05:47:12

标签: ios uilocalnotification ibeacon

我可以让我的iBeacon应用在应用程序以后台模式运行时向用户推送本地通知,但出于某种原因,此通知会每隔一秒钟重复一次,

UILocalNotification *notice = [[UILocalNotification alloc] init];

         for (int i=0; i<=1; i++)
          {
            notice.alertBody = @"We just found some great deals in this location!";
            notice.alertAction = @"Open";

       [[UIApplication sharedApplication] scheduleLocalNotification:notice];


         notice.fireDate = [[NSDate date] dateByAddingTimeInterval:0.2];
        }

我只希望此通知在用户进入该区域时仅显示一次。

4 个答案:

答案 0 :(得分:2)

iOS范围每秒,所以听起来你的代码是didRangeBeacons方法。您应该将UILocalNotification代码移至didEnterRegion方法。

答案 1 :(得分:0)

使用presentLocalNotificationNow。当用户进入该区域时,它会使通知仅显示一次。

[[UIApplication sharedApplication] presentLocalNotificationNow:notice];

答案 2 :(得分:0)

根据您的代码,您似乎正在安排两个本地通知,因为您的for循环应该运行两次。这意味着您没有看到相同通知的重复,但几乎同时触发了两个不同的通知。我建议你再次完成你的逻辑。

默认情况下repeatInterval对象的UILocalNotification属性设置为0,即非重复。因此,不是设置repeatInterval的情况,因为您希望它不重复。

答案 3 :(得分:0)

试试这个。 。

UILocalNotification *notice = [[UILocalNotification alloc] init];
notice.alertBody = @"We just found some great deals in this location!";
notice.alertAction = @"Open";
notice.fireDate = [[NSDate date] dateByAddingTimeInterval:0.2];
[[UIApplication sharedApplication] scheduleLocalNotification:notice];