我有4個場景iOS版 - 閱讀,一旦收到推送通知
當應用程序沒有啓動
給出的應用程序不啓動或殺死
當推送通知接收
並開通該應用程序不需要點擊通知
然後應用程序應該捕獲通知。
當應用程序在前臺
鑑於前景
運行時,推送通知接收
然後應用程序應該捕獲通知的應用程序運行。
當應用程序在後臺
由於應用程序在後臺
運行時,推送通知接收
,打開應用程序,而不攻通知
然後應用程序應該捕獲通知運行。
當應用程序未啓動,清除通知
給出的應用程序沒有啓動或殺死
當推送通知接收
而用戶清除通知
,打開應用程序
然後應用程序應該捕獲通知。
第3方案正常工作與下面的代碼
的最後一個場景是沒有工作當應用程序未啓動,清除通知
的AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().getDeliveredNotifications(completionHandler: { requests in
for request in requests {
self.setNotification(userInfo: request.request.content.userInfo as NSDictionary)
}
})
}
return true
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
setNotification(userInfo: userInfo as NSDictionary)
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
setNotification(userInfo: userInfo as NSDictionary)
}
**你不能** 想象一下,你有5個通知在屏幕上。你解僱所有5人,然後你啓動應用程序。 應用程序應該如何知道應該考慮哪個通知? – Honey
謝謝@Paras Gorasiya – Vignesh
@Honey這是我的問題?有什麼方法可以在沒有restAPI的情況下獲得這些通知。 – Vignesh