我通过设置最小背景间隔来实现新的iOS7后台获取功能:
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]
我还尝试了其他可能性,例如将间隔设置为1.0f - 10.0f。但是不管我怎么做我的应用程序似乎都会触发
application:(UIApplication *)application performFetchWithCompletionHandler
方法,比如每小时一次或每两小时一次,但这对我来说没有意义,因为我想要更频繁的更新,比如每15分钟一次。我可以使用这些后台取回功能的唯一方法是从调试菜单中选择模拟后台取回选项,但这种方式只有开发构建能够使用后台取回但从"App Store"安装的用户就没有这种机会了我该怎么做才能更频繁地调用"performFetch方法"(至少每15分钟一次或类似的东西)?谢谢。tolga
引用苹果文档,
minimumBackgroundFetchInterval
在启动另一个后台获取之前必须经过的最小秒数。该值仅为建议值,并不表示两次取操作之间期望的确切时间。
操作系统决定应用程序的后台执行窗口,我们对此无能为力。因此,当应用程序获得插槽时,在30秒内执行任何您想要的服务调用。
还有一些我在这里读到的
应用程序的后台取回设置得越频繁,使用的资源就越多。iOS通过限制那些试图频繁使用API的应用程序来保护自己和设备,所以在设置自定义时间间隔时要谨慎。使用iOS提供的预定义值可能是最好的选择。