2015-03-05 3 views
0

Я делаю некоторые проверки, а затем запускаю его, но его работа выполняется только тогда, когда приложение находится в фоновом режиме.IOS, локальное уведомление в приложении - не работает

Как я могу предупредить уведомление, когда пользователь находится в приложении?

Я использую метод didReceiveRemoteNotification, но его ответ только в фоновом режиме, а не в приложении. Я также попытался вызвать уведомление в методе viewDidLoad, но он тоже не работал.

- (void) application:(UIApplication *)application 
    didReceiveRemoteNotification:(NSDictionary *)userInfo 
     fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 
{ 
       UILocalNotification* n1 = [[UILocalNotification alloc] init]; 
       n1.fireDate = [NSDate dateWithTimeIntervalSinceNow:1]; 
       n1.alertBody = @“test”; 
       n1.soundName = @"default"; 
       [[UIApplication sharedApplication] scheduleLocalNotification: n1]; 

    completionHandler(UIBackgroundFetchResultNewData); 
} 
+0

вы могли бы обрабатывать местное уведомление в - приложения: didReceiveLocalNotification: –

+0

Привет, моя проблема в том, чтобы не обрабатывать уведомления его самостоятельно, моя проблема заключается в том, что уведомление не срабатывает, когда приложение работает .. – tomer

+1

Если приложение запускается во время доставки уведомления, на экране не отображается предупреждение. Приложение автоматически вызывает приложение своего делегата: метод didReceiveLocalNotification:. См. [Этот учебник] (http://www.appcoda.com/ios-programming-local-notification-tutorial/) –

ответ

0

UILocalNotification предназначены для стрельбы, когда пользователь не использует приложение как на UILocalNotification говорят здесь в apple documentation

, если вы хотите знать, если приложение получило UILocalNotification вы можете использовать следующий код.

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
{ 
if ([notification.alertBody isEqualToString:@"Application is timeout!"]) 
    { 
    // show an alert regarding your notification 
    } 
} 
Смежные вопросы