iOS 开发实用技术导航
NSHipster 中文版
› http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
› http://www.cocos2d-iphone.org/
CocoaPods
› http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
› http://code.google.com/mobile/analytics/
WWDC
› https://developer.apple.com/wwdc/
Design Guides and Resources
› https://developer.apple.com/design/
Transcripts of WWDC sessions
› http://asciiwwdc.com
Cocoa with Love
› http://cocoawithlove.com/
Cocoa Dev Central
› http://cocoadevcentral.com/
NSHipster
› http://nshipster.com/
Style Guides
› Google Objective-C Style Guide
› NYTimes Objective-C Style Guide
Useful Tools and Services
› Charles Web Debugging Proxy
› Smore
ro00
V2EX  ›  iDev

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

  •  
  •   ro00 · Nov 24, 2013 · 10531 views
    This topic created in 4691 days ago, the information mentioned may be changed or developed.
    [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:60];
    设置了60秒,打开app退到后台,10多分钟过去了都没有反应

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

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

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

    这个fetch适合用在实时性不高的app
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3390 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    ♥ Do have faith in what you're doing.