-1

まず、私の英語で申し訳ありません。複数のローカル通知を作成するアプリに問題があります。私はそれらを for ループでスケジュールしています:

for (int i = 0; i < 100 ; i++) {
    compteur++;

    UILocalNotification *prototypeNotification = [[UILocalNotification alloc] init];
    prototypeNotification.timeZone = [NSTimeZone defaultTimeZone];

    prototypeNotification.applicationIconBadgeNumber = 0;
    prototypeNotification.alertBody = @"ALERTE PILULE !!!!!";
    prototypeNotification.alertAction = @"Ok";
    [prototypeNotification setSoundName:UILocalNotificationDefaultSoundName];
    prototypeNotification.fireDate = itemDate;

    [[UIApplication sharedApplication] scheduleLocalNotification:prototypeNotification];
    [prototypeNotification release];

    itemDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:itemDate options:0];


    if (compteur == 21) {
        compteur = 0;
        itemDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps2 toDate:itemDate options:0];

    }
}

firedate が来ると、うまく機能しますが、1 つだけでなく、2 つ、3 つ、または 6 つのアラートが表示されることがあります...そして、理由がわかりません...誰か助けてくれますか? ありがとう

4

1 に答える 1

0
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; 
    //here you can undo many of the changes made on entering the background.
    UIApplication *APP =[UIApplication sharedApplication];
     NSArray *oldnotification = [APP scheduledLocalNotifications];
    if (oldnotification>=0)
    {
         [APP cancelAllLocalNotifications];
    }
}

古い通知をキャンセルするために、上記のモジュールにこのコードを追加していますか??

于 2013-08-24T07:40:14.897 に答える