Swift 推送通知

Swift Push Notification

我希望能够使用推送通知,但不希望从服务器获取数据。相反,我希望它充当我的天气应用程序的更新方法,以便即使在应用程序关闭时也能获取新数据。是否可以伪造推送通知?

如果不包含任何文本,您可以发送未显示给用户的通知。这些不是 "fake" 通知,而是通知。

但是应用程序只有在启动时才会收到它们(如果用户允许通知)。 另一个问题是有效负载大小在通知中受到限制,因此您无法使用它对您的应用程序进行完整更新。

通常的场景是通过notification来通知客户端他需要更新,并最终给出一个'summary'更新的内容,以便快速反馈给用户。

将以下代码添加到您的 Info.plist 文件中:

<key>UIBackgroundModes</key>
<array>
    <string>remote-notification</string>
</array>

并在远程推送的JSON有效负载中添加以下标志

content-available: 1

看起来像这样:

aps: { 
(…)
content-available: 1,
(…)
}

带有此标志的推送通知将是无声的(用户不会看到通知)并且 iOS 会给您的应用程序大约 30 秒的时间来下载新的 content/update 本身。它专为您的用例而设计。