更新问题:
要求是;一旦收到无声通知,我想运行一个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中删除了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。