2010-07-12 13 views

cevap

27

Simülatörde, temsilci bildirim yöntemini iki kez tetikleyen bilinen bir hata olduğunu düşünüyorum. Cihazda XCode'a bağlı ya da olmamalıdır. ben de ben bu ben sadece benim uygulama yapmak istediğim kod yazmak bu durumda didReceiveLocalNotification burada

if (state == UIApplicationStateActive) { 
    NSLog(@"UIApplicationStateActive"); 
} 
else if(state == UIApplicationStateInactive){ 
    NSLog(@"UIApplicationStateInActive"); 
} 

bu kod yazmak olduğunu bulmak aynı sorun ve çözüm bakıyordu

+7

Neden olmadığından emin değilim, ancak bu sorunla yüz yüze geldim (didReceiveLocalNotification defalarca), bu yüzden durum adı verilen bir alanı koruyorum ve önceden bildirilmişse, bu bildirim için durum alanını el ile denetle – user1046037

14

Bildirimi etkin modda ve etkin olmayan modda

1

Bildirimin aynı saniye içinde olduğu sürece yeniden başlatıldığından şüpheleniyorum. FireDate'i işleyicide sıfır olarak ayarlayarak onu çözdüm:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
{ 
    UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:notification.alertAction message:notification.alertBody delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alertView show]; 

    notification.fireDate = nil; 

} 
1

Aynısını verdim. AppDelegate'ın "didFinishLaunchingWithOptions" öğesinde iki kez 'registerUserNotificationSettings' çağrılmasından kaynaklandı. Ancak, tekrarlanan çağrıyı kaldırmanız sorunu çözmedi. Uygulamayı sildim ve yeniden oluşturmam gerekiyordu. Ancak daha sonra çift yerel bildirim sorunu çözüldü.

İlgili konular