2015-01-20 24 views
16

Uygulamanız için tüm önceki bildirimleri (local veya push) temizlerseniz, performFetchWithCompletionHandler'dan UIBackgroundFetchResultNewData veya UIBackgroundFetchResultNoData döndürdüğümden hiç bir şey yok gibi görünüyor. Bu benim için kabul edilemez.iOS arka plan getirme önceki bildirimleri temizler

Herkes önceden nasıl alınacağını ve önceki bildirimlerin nasıl temizleneceğini (kaybolduğunu) bilmiyor mu?

+0

için fyi I 500 nokta ödül koydu kontrol edilmesi application(_:didReceiveRemoteNotification:fetchCompletionHandler:)

  • alınan bildirim nesnesi kontrol edilmesi application(_:didReceiveRemoteNotification:)

  • alınan Kontrol Edilmesi Bu, ayrıca bu sorunu görerek, tüm bildirimleri kabul edebilirim sanırım Sessiz olanlar olarak ve sonra yerel bildirimleri yeniden başlatın ama bu oldukça garip görünüyor. –

  • +0

    @SamSaffron, ortamınızı netleştirebilir misiniz? iOS sürümü, cihaz/simülatör, Xcode'un benzetilmiş getirileri ile çalışır ya da değil, (bu hatayı test projesinde yeniden oluşturamaz). –

    +0

    @RomanErmolov Burada olduğunuzu düşünüyorum ... Rozetin 0'a ayarlanmasının tüm bildirimleri sileceği gerçeğini çok özledim, OP'ye ne olduğunu ve bana ne olduğunu anladım. –

    cevap

    5

    Buradaki tahminim, rozet numaranızı 0 olarak ayarlayan bir arka plan getirme seçeneğiniz olmasıdır, eğer bu olursa, tüm bildirimleriniz temizlenir.

    3

    Kaynak: Apple's AppDelegate API Reference

    application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 
    

    uzak bildirim o abartılı gibi veri yoktur gösterir geldi app söyler. Uygulamanız için gelen uzaktan bildirimleri işlemek için bu yöntemi kullanın. uygulama ön planda çalışırken sadece denir

    application(_:didReceiveRemoteNotification:) 
    

    yöntemle farklı olarak, sistem, uygulama ön veya arka planda çalışırken bu yöntem çağırır. Ayrıca, uzaktan bildirim arka plan modunu etkinleştirdiyseniz, sistem uygulamanızı başlatır (veya askıya alınmış durumdan uyandırır) ve uzak bir bildirim geldiğinde arka plana yerleştirir. Ancak, kullanıcı zorlamayı bıraktıysa sistem otomatik olarak uygulamanızı başlatmaz. Bu durumda, sistem uygulamanızı otomatik olarak yeniden başlatmaya çalışmadan önce kullanıcının uygulamanızı yeniden başlatması veya cihazı yeniden başlatması gerekir. Kullanıcı sisteminizi görüntülenen uyarıdan uygulamanızı açarsa, kullanıcı arabiriminizi güncelleyebilmeniz ve bildirimle ilgili bilgileri görüntüleyebilmeniz için, uygulama önalanı girmek üzere olduğunda sistem tekrar bu yöntemi çağırabilir.

    Not: Aşağıdaki durumlarda 0. Test uygulama ayarlarında önce devlet için uygulamanın rozeti numarasını kontrol emin olun gerekir:,

    • Uygulama çalışan bir bildirim alır

    • uygulama sona, uygulama simgesi tarafından doğrudan bir bildirim

    • Başlatma uygulamasını alır

    • bildirimden
    • Uygulamayı başlat 3 kullanımı durumda esastır aşağıda yaklaştı arasındaki farkı bilmek

    aldı.

    1. bildirim nesnesi didFinishLaunchingWithOptionsUIApplicationLaunchOptionsRemoteNotificationKey

    İlgili konular