通过避免应用10分钟的时间限制,在后台持续工作

Zoe*_*b S 4 iphone service ipad ios ios6

我想创建一种服务类应用程序,它在后台运行但问题是在iOS应用程序中有10分钟的限制.

我们有什么方法可以连续运行我们的应用程序,我已经阅读了一些内容,如果我们在后台播放一首歌,那么应用程序永远不会在10分钟后终止,但我不认为苹果会批准这一点.

任何建议都会有所帮助.

Out*_*ion 6

来自iOS开发人员库:

iOS 7支持两种新的应用背景执行模式:

经常需要新内容的应用程序可以在系统中注册并被唤醒或定期启动以在后台下载该内容.要注册,请在应用程序的Info.plist文件中包含带有提取值的UIBackgroundModes键,并使用该setMinimumBackgroundFetchInterval:方法设置获取操作之间的最短时间 .您还必须application:performFetchWithCompletionHandler:在应用程序委托中实现该 方法以执行任何下载.使用推送通知来通知用户新内容可用的应用现在可以使用这些通知来启动后台下载操作.要支持此模式,请在应用程序的Info.plist文件中包含带有远程通知值的UIBackgroundModes键.您的app委托也必须实现该 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法.

第一种情况:通过设置setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum或在几秒钟内任何其他号码(您的AppDelegate内)会通知您的应用程序需要更新其内容,即使它是在后台系统.

请注意.获取间隔是最小值而不是最大值!因此,当系统决定时,您的应用会被唤醒.这可能是一天一次或一天多次.在我的情况下,我的应用程序正在更新约.每10分钟一直到19:00.在那之后,花了大约.下次更新需要7个小时,下次更新需要3个小时.第二天,相同(每10分钟至19:00).

如果您要求从互联网定期更新(高效和低电量消耗),这种技术是理想的,但不适用于需要在短时间内更新的内容,如电池电量或电池状态.

希望这可以帮助.

iOS 7仍处于测试版.因此,上述所有内容可能会更改或更新,直到正式发布