2015-03-24 4 views
4

Я отправляю тихое push-уведомление моему приложению, а затем обрабатываю содержимое push-уведомления, прежде чем принимать решение о отправке локального уведомления пользователю. Однако я не могу запустить локальное уведомление из приложения после получения молчаливого уведомления.ios swift создание локального уведомления после бесшумного уведомления

Вот мой код в AppDelegate после запуска молчаливый notificaiton:

func application(application: UIApplication, 
    didReceiveRemoteNotification userInfo: [NSObject : AnyObject], 
    fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) { 
     println("Did receive remote with completion handler") 

     var localNotification:UILocalNotification = UILocalNotification() 
     localNotification.alertAction = "view broadcast messages" 
     localNotification.alertBody = "Hello" 
     localNotification.fireDate = NSDate(timeIntervalSinceNow: 0) 

     localNotification.soundName = UILocalNotificationDefaultSoundName; 

     application.scheduleLocalNotification(localNotification) 

     handler(UIBackgroundFetchResult.NewData) 
} 

Однако местное уведомление не срабатывает.

Я включил обновления местоположения, возможности извлечения фона и удаленных уведомлений.

Кроме того, когда мое приложение находится в фоновом состоянии, оно прослушивает обновления местоположения, а затем предупреждает пользователя о локальном уведомлении в определенных ситуациях, которое работает из аналогичного кода.

Итак, почему местные уведомления не срабатывают от didReceiveRemoteNotification?

Благодаря

ответ

5

Хорошо, я понял это,

application.scheduleLocalNotification(localNotification) 

должен был

UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

Надежда это помогает кому-то!

+0

Привет, я не могу получить эту работу, я делаю те же настройки, что и у вас, но все равно не могу получить локальное уведомление, когда уведомление о молчании приходит, когда приложение не работает. Пожалуйста, предложите что-нибудь для этого. авансовый. – IsPha

+0

Привет, если ваше приложение убито, вы не получите удаленные уведомления. Вам нужно использовать уведомления VoIP, когда ваше приложение будет убито. К сожалению, Apple только позволяет использовать VoIP-уведомление для определенных целей. – Gmeister4

+0

https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html – Gmeister4

 Смежные вопросы

  • Нет связанных вопросов^_^