当我收到静音推送通知时iOS会唤醒我的应用程序吗?(当应用程序未处于运行状态时)

Gur*_*epu 6 objective-c apple-push-notifications ios

更新问题:

要求是; 一旦收到无声通知,我想运行一个Web服务并在通知栏中显示一个班轮.如果应用程序也被杀死它必须工作.任何解决方法?

我正在尝试以下方法.

我是iOS新手,我在沉默推送通知方面苦苦挣扎,谷歌搜索很多并且卡住了.当应用程序未启动时(即从应用程序切换器中删除应用程序时),当我收到静音推送通知时,iOS会唤醒我的应用程序吗?

我的工资负担是

{ 
      aps: {
              content-available: 1,
              sound: ""
     }
}
Run Code Online (Sandbox Code Playgroud)

.

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler{

int CA=[[[userInfo valueForKey:@"aps"] valueForKey:@"content-available"] intValue];

if (CA==1) {

    my action...

}

 completionHandler(UIBackgroundFetchResultNewData);
}
Run Code Online (Sandbox Code Playgroud)

当app处于前台和后台时,此方法被调用并正常工作.当应用程序未处于运行状态时(即应用程序未从应用程序切换器启动或终止),唤醒我的应用程序.

The*_*uad 8

如果应用程序已从App Switcher中删除,iOS将不会唤醒您的应用程序,因为用户明确要求关闭您的应用程序.

如果用户至少打开一次您的应用程序,并且不从App Switcher中删除它,iOS将唤醒您的应用程序

我们在服务器端处理此问题的方法是:如果用户的应用程序在我们发送静默通知后的一分钟内没有连接,(您可以根据需要进行设置),我们会发送另一个非静默推送通知来提醒用户.由于App(未被用户关闭)应该自动获取数据,因此应该花费不到一分钟.

但就此而言,您需要一个比简单发送静默推送更复杂的服务器代码.

编辑:(对这个问题进行投票表明我已经过时了)

这个答案不再是真的......你现在可以使用PushKit唤醒你的应用程序做一些小事(比如下载小块数据来更新内容),即使App已经从App Switcher中删除了.