iOS 后台运行 类型

iOS后台运行,需要有特定的类型才可以进行。这些内容并不是一直不变的,苹果也在逐步的更新这些内容。

本文内容是2015年11月03日时苹果支持的后台运行类型。

这是官方连接地址

其中较为重要的是下面这张表,我已截图出来。

解释一下:

1. 音频播放和录制;

2. 位置更新;

3. VOIP;

*4. 后台下载(此处指预更新);

5. 使用External Accessory framework库(通常是通过MFI认证的蓝牙应用);

6. 蓝牙应用(使用Core Bluetooth framework库);

7. 通过蓝牙的数据传输(仅限沙盒内的数据);

8. 定时下载和处理少量网络数据;

9. 推送。

程序中需要写入这些类型可以在Capabilities中配置,如下图(其中被勾选是我自己钩的,默认没有)。

另:
*4. 后台下载(此处指预更新);

苹果官网解释的直译:该应用程序是一个报亭的应用程序,下载并在后台处理杂志或报纸的内容。

举个栗子大家就明白了:

比如微博(不知道微博有没有这样做,只是举个栗子),在点击微博查看内容时(比如时间A),微博已经完成加载新的数据并且显示出来,而不需要在点击启动应用程序后再次加载。而什么时间加载呢?那就是在点击微博前(比如时间B)。那么,很简单,讲道理,按照这样的说法,时间A会晚于时间B。那么,我怎么知道用户什么时候打开微博,我怎么设置时间B?查阅了很多资料,据说:iOS系统会自动统计用户开启微博的时间(比如用户经常在晚上10点打开),那么,系统会自动设置提前一段时间来更新数据(比如在每晚9点50分)。这个调用是系统在做的,而不是我们程序控制的。听起来很厉害的样子,说的跟真的一样。这玩意还真没测试过···

时间: 2024-10-05 04:19:12

iOS 后台运行 类型的相关文章

iOS 后台运行实现

iOS 后台运行的规则 应用的运行状态分为以下五种:Not running:应用还没有启动,或者应用正在运行但是途中被系统停止.Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码).一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态.唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电.有未读短信等)事件的时候.Active:当前应用正在前台运行,并且接收事件.这是应用正在前台运行时所处的正常状态Su

IOS后台运行机制 与 动作

当用户按下"Home"键或者系统启动另外一个应用时,前台foreground应用首先切换到Inactive状态,然后切换到Background状态.此转换将会导致先后调用应用代理的applicationWillResignActive:和applicationDidEnterBackground:方法. 在applicationDidEnterBackground:方法返回后,大部分应用在之后不久转入suspended状态.对于请求特定后台background任务的应用,比如播放音乐应

iOS 后台运行实现 --备用

文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以,1.音乐2.location 3.voip 文二 在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务. 判断是否支持多线程 UIDevice* device = [UIDevice c

IOS 后台运行申请更多的时间

当应用程序进入后台时,系统会自动回调应用程序委托的applicationDidEnterBackground:方法. 应用可以在该方法中完成转入后台前需要做的准备工作,所有的应用需要做以下事情. 释放所有可以释放的内存. 保存用户数据或状态信息,所有没写入磁盘的文件或信息,在进入后台之前,都应该写入磁盘,因为程序可能在后台被杀死. 进入后台时释放内存 当程序进入后台之后,为了确保获得最佳的用户体验,建议释放那些占用内存较大且可以重新获取的资源—- 这是因为当应用处于后台时,iOS系统会优先终止那

iOS后台运行

我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间.还有三种类型的可以运行在后以,1.音乐2.location3.voip 文二 在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务. 判断是否支持多线程 UIDevice* device = [UIDevice curren

ios后台运行机制

IOS长时间后台运行的实现代码 1.检查设备是否支持多任务 Apple出于性能的考虑,并不是所有的iOS设备升级到iOS4以后都支持多任务,比如iPhone 3G.如果你的应用在没有多任务特性时会出问题,为了保持应用的健壮性,你应该对此进行判断并处理.你可以通过调用UIDevice对象的multitaskingSupported属性来获取当前设备是否支持多任务. [cpp] view plaincopy if(![UIDevicecurrentDevice].multitaskingSuppor

iOS后台运行的设置方法

关于让程序保持后台运行有两种方方法: 1.直接上图:(当后台的内存实在是没有的时候,系统就会终止后台运行,也就是说这个的时间不确定的,这种方式是可怜的像后台申请后台运行的要求,是很可怜的的一种方法!!) 2.配置plist文件:在Info.plist中声明自己的应用类型为audio.在后台播放mp3(共有五种方法,这里不一一赘述,仅以audio为例,其余基本相似) 2.1>>>> 添加UIBackgroundModes中audio值,注册后台音频应用.这个值使得应用程序可以在后台使

iOS后台运行机制-实践总结

从2015年,接触到的项目里,就会有这样的需求:APP需要像Android那样,在后台状态下,执行正常的功能.到现在已经一年多了吧,一直在研究这个方面,写下一些心得,希望与大家共同交流探讨. 首先,我们要知道,苹果对APP占用硬件资源管的很严,更不要说应用后台时候的资源占用了.正常情况下,使用应用时,APP从硬盘加载到内存,开始工作:当用户按下home键,APP便被挂起,依然驻留在内存中,这种状态下,不调用苹果已开放的几种后台方法,程序便不会运行:如果在这个时候,使程序继续运行,则为后台状态:如

IOS 后台运行 播放音乐

iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能. 首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AVAudioSessionCategoryPlayback即可.模式意义及其他模式请参考文档. 1 //后台