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

更新问题:

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

我正在尝试以下方法.

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

我的工资负担是

{ 
      aps: {
              content-available: 1,sound: ""
     }
}

.

-(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);
}

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

解决方法

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

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

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

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

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

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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...