【问题标题】:First push notification disappears after few seconds第一次推送通知在几秒钟后消失
【发布时间】:2017-05-23 10:54:17
【问题描述】:

当应用程序位于background 时,我的应用程序首先notification 会在几秒钟后消失,即使用户没有对该notification 采取任何操作。之后,每个notification 都保持在原位。

是否将应用程序 badge number 设置为 0 或取消 local notifications 对此有任何影响。(我尝试评论这些部分,但没有解决)。

`func application(application: UIApplication, 
 didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) 
 -> Bool {


    Fabric.with([Crashlytics.self])

    registerForPushNotifications(application)
    application.registerForRemoteNotifications()

    //Firebase push notification
    FIRApp.configure()



    // Add observer for InstanceID token refresh callback.
    NSNotificationCenter.defaultCenter().addObserver(self,
                                                    selector: #selector(self.tokenRefreshNotification),
                                                    name: kFIRInstanceIDTokenRefreshNotification,
                                                    object: nil)

  UIApplication.sharedApplication().applicationIconBadgeNumber = 0



    }


}`

  func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {

    guard  let aps = userInfo["aps"] as? [String: AnyObject] else{
        return
    }

    let state = UIApplication.sharedApplication().applicationState
    if state == .Background || state == .Inactive{
       //do some background work
   }

}

任何帮助将不胜感激。

【问题讨论】:

  • 你能展示你的代码吗?
  • 我已经更新了我的问题
  • 第二个通知有按钮,第一个没有按钮吗?
  • 只需删除设置 applicationBadgeNumber 并尝试一次。

标签: ios swift push-notification


【解决方案1】:

问题是由于手动设置徽章编号造成的。我的应用程序中有代码可以在应用程序启动时手动设置徽章编号(根据情况设置为 0 或保存在 NSUserDefaults 中的值),并发现执行其中任何一项都会导致通知横幅消失并且声音会切断中间通知。为了解决这个问题,我检查了applicationState,如果是UIApplicationStateBackground,我没有触摸徽章编号。

因此,根据您上面的代码,要么删除 didFinishLaunching 中的行以将徽章设置为 0,要么在设置为 0 之前确保应用程序状态不是背景。

我在这里发布了类似的答案: https://stackoverflow.com/a/53381819/2788608

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多