ios - 如果用户收到远程通知但没有通过 Swift 在 IOS 应用程序上打开它,我该如何检测?

标签 ios swift

我需要检测如果用户在手机被锁定时收到远程通知但他们没有通过远程通知打开应用程序,然后他们正常打开应用程序。

现在我使用 didReceiveRemoteNotification 来检测远程通知,但是当他们正常打开应用程序时,它似乎不起作用。

谢谢!

最佳答案

如果您曾经正常启动该应用程序,它将在没有推送通知到达时启动。在这种情况下,您可以显示不同内容的唯一方法(我能想到)是在应用程序启动时连接您的服务器并获取一些信息,表明最近向该设备发送了推送通知。

您可以在 didReceiveRemoteNotification 委托(delegate)方法上获取通知负载,但只有当您的应用程序处于前台或用户点击推送通知时才会调用它。

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

    }

关于ios - 如果用户收到远程通知但没有通过 Swift 在 IOS 应用程序上打开它,我该如何检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454949/

相关文章:

ios - 访问@IBInspectable UIImage 时界面生成器代理崩溃

ios - SKAction : How to Animate Random Repeated Actions

ios - 来自 <netinet/in.h> 的 INADDR_LOOPBACK 宏未在 swift 中导入

swift - 字符串插值表达式中的文字

ios - 自定义 UITabBarController - DidSelect/AnyCustomization 委托(delegate)问题

ios - 裁剪时drawRect是 "wasteful"吗?有其他选择吗?

ios - 如何使用 UIStackView 中的 attributedText 删除 UILabel 的底部填充

ios - 在 Swift 中以编程方式创建 UITableViewCell

ios - 在 WatchKit 中的接口(interface) Controller 之间传递数据

Swift - `范围最小 - 最大范围内的数字