【问题标题】:applicationDidReceiveRemoteNotification not called on iPhone 7 on background应用程序 DidReceiveRemoteNotification 未在 iPhone 7 上在后台调用
【发布时间】:2017-10-13 21:02:14
【问题描述】:
我想在收到远程通知并且应用程序处于后台时设置本地通知。当我将我的 iPhone 7 设备连接到 xcode 时,这工作正常,但是一旦我断开设备然后将应用程序置于后台,本地通知不起作用,这是因为 applicationDidReceiveRemoteNotification 没有被调用(我通过在UserDefaults 在相同的方法中再次没有被设置)。在 iPhone 6 和 6s 上执行相同的过程时,无论是连接还是未连接到 xcode,都可以正常工作。 iPhone 7 上的 iOS 版本是 10.2.1,然后更新到 10.3.1,这两个版本都不能正常工作。谢谢。
【问题讨论】:
标签:
ios
iphone
swift
xcode
【解决方案1】:
得到了 Apple 的答复。这就是问题的原因:
静默推送通知(其有效负载仅包含内容可用键且不包含警报、徽章或声音键)仅在 iOS 确定其节能时才被限制发送。
始终显示带有用户可见键的推送通知,例如以高优先级(优先级 10)发送的警报、声音或徽章。 但是,如果通知还包含 content-available 键,则通知可能会受到限制,因此除非用户点击通知,否则不会在后台发送到应用程序。
邮件说的重点是:
重要的一点是,应用程序的设计绝不能期望收到每个推送通知。