Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 仅当应用程序处于后台时调用静默通知回调方法_Ios_Iphone_Notifications_Apple Push Notifications - Fatal编程技术网

Ios 仅当应用程序处于后台时调用静默通知回调方法

Ios 仅当应用程序处于后台时调用静默通知回调方法,ios,iphone,notifications,apple-push-notifications,Ios,Iphone,Notifications,Apple Push Notifications,我注册了远程通知,它的工作非常好。现在我正在实施静默通知。为此,我启用了后台远程通知和应用程序从网络下载内容 并发送, {"aps": {"content-available": 1}} 它调用以下回调方法,但仅当应用程序处于后台时: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void

我注册了远程通知,它的工作非常好。现在我正在实施静默通知。为此,我启用了后台远程通知和应用程序从网络下载内容

并发送,

{"aps": {"content-available": 1}}
它调用以下回调方法,但仅当应用程序处于后台时:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
在这种方法中,我在从服务器下载一些数据后触发本地通知。但当应用程序不在后台时,这个方法根本不会调用

在Apple docs on中,他们说:

“当静默通知到达时,iOS会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。”

理想情况下,静默远程通知应该在后台唤醒我的应用程序,本地通知应该可以工作


有什么想法吗?

在阅读了大量苹果文档后,我发现如果用户强制退出应用程序,该方法(DidReceiveEmoteNotify:fetchCompletionHandler)将不会调用

如前所述,()
但是,如果用户强制退出应用程序,系统不会自动启动应用程序。在这种情况下,用户必须重新启动您的应用程序或重启设备,然后系统才会尝试再次自动启动您的应用程序。

在阅读了大量apple文档后,我发现如果用户强制退出应用程序,则该方法(DidReceiveMemoteNotify:fetchCompletionHandler)将不会调用

如前所述,() 但是,如果用户强制退出应用程序,系统不会自动启动应用程序。在这种情况下,用户必须重新启动应用程序或重新启动设备,然后系统才会尝试再次自动启动应用程序