[英]iOS; Push notification is not work when the app is not running or in background
我檢測到來自APNS的推送通知時遇到問題。
如果應用未運行或在后台運行時,APNS發出了推送通知,
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
是行不通的。
而且,當我回到前台但未從通知中心選擇推送通知消息時,則無法使用。
我怎么解決這個問題?
我正在iOS 6.13和iOS 7.0.4中測試該應用程序。
謝謝你的幫助。 :)
實際上,通知的第一個接收者是系統,而不是您的應用。
如果您的應用程序不在前台,則在您點擊通知使您的應用程序再次成為前台之前,將永遠不會調用該應用程序的application:didReceiveRemoteNotification:fetchCompletionHandler
。
當推送通知到達並且用戶單擊“ cancel
”時, your app has no way to read that push notification again
。 您必須實現單獨的功能(最有可能在server-side
),以獲取發送到此設備的通知列表。
從Apple文檔中:
如果您的應用支持遠程通知后台模式,請實施此方法。
這意味着您使用的方法側重於后台任務。 並且僅在iOS 7.0之后可用。
我建議您使用application:didReceiveRemoteNotification:
從Apple文檔中:
如果該應用程序正在運行並收到遠程通知,則該應用程序將調用此方法來處理通知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.