试了一下iOS7 Background Fetch相关的API,感觉有点坑爹啊

2013-11-24 23:46:58 +08:00
 ro00
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:60];
设置了60秒,打开app退到后台,10多分钟过去了都没有反应

但是如果自己手动在debug选项里面模拟一次,马上就开始Background Fetch了,所以代码应该写的没错啊..但是它就是不会自己开始进行Background Fetch

看了下stackoverflow也是好多人等不到它自己响应啊..有谁知道怎么稳定的(比如隔1-2分钟)自动下载一些东西?还是说这在iOS7也是不可能实现的?
9287 次点击
所在节点    iDev
8 条回复
so898
2013-11-25 01:56:49 +08:00
这货不是根据用户的使用习惯或者你在服务器端发推送来激活的么?

60秒运行一次的后台需要在项目里面做后台常驻声明的吧
rcgary
2013-11-25 07:05:45 +08:00
你要用来做什么啊, 最近在做remote notifications push, 然后background fetch data, 我这一切正常啊, 查查document, 看看是不是漏了什么, 真机测试要记得去把Backgournd fetch的设置打开
ro00
2013-11-25 09:52:23 +08:00
@rcgary 从昨天到今天,基本上要隔2小时才自动fetch一次...感觉这个时间很难把握
@so898 嗯,看来只能通过推送来激活比较靠谱,自动fetch非常不稳定
ro00
2013-11-25 09:54:08 +08:00
@rcgary 自动fetch是不需要APN来激活的,隔一段时间会来那么一次= =
harrymoo
2013-11-25 11:41:06 +08:00
我记得之前看文档,background fetch的开始时间完全看系统娘的心情来的。 不能强求。。。
ro00
2013-11-25 14:24:57 +08:00
@harrymoo 是的!下午发现隔10来分钟可以触发一次....早上是1-2小时一次...神奇啊...
laurivers
2013-11-25 16:53:35 +08:00
时间间隔只是代表了“在上一次获取或者关闭应用之后,在这一段时间内一定不会去做后台获取”,而真正具体到什么时候会进行后台获取,无从得知的
xujingbao
2013-11-26 13:48:33 +08:00
fetch 全是由系统调度的,使用者不会知道它神马时候调用,开发者也不会知道,你设置的那个时间只是保证最小间隔。。。

这个fetch适合用在实时性不高的app

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/90479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX