ios程序后台继续运行

1.图标右上角显示消息个数

if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
            UIUserNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
            UIUserNotificationSettings *mySetting = [UIUserNotificationSettings settingsForTypes:myType categories:nil];
            [[UIApplication sharedApplication] registerUserNotificationSettings:mySetting];
        }else{
            UIRemoteNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
            [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myType];
        }

        [UIApplication sharedApplication].applicationIconBadgeNumber = result.status;//后台运行,有新消息,就在图标的右上角显示个数

2.后台运行

info.plist文件里面添加

Required background modes  --  App plays audio or streams audio/video using AirPlay

然后delegate里面

/**
 *  程序进入后台的时候调用
 */
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // 提醒操作系统:当前这个应用程序需要在后台开启一个任务
    // 操作系统会允许这个应用程序在后台保持运行状态(能够持续的时间是不确定)
    UIBackgroundTaskIdentifier taskID = [application beginBackgroundTaskWithExpirationHandler:^{
        // 后台运行的时间到期了,就会自动调用这个block
        [application endBackgroundTask:taskID];
    }];

}

有可能还要添加这个播放0kb音频的代码

delegate里面:

时间: 2024-10-13 17:28:22

ios程序后台继续运行的相关文章

ios程序后台运行设置(不是太懂)

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

让程序后台隐藏运行

function exec_cmd_line(const sCmd: AnsiString; var nExitCode: Cardinal; nDefWaitTime: Cardinal = 10 * 1000): string; //const // aExitCode_CreateProcessError = 222; var si: TStartupInfoA; pi: TProcessInformation; //aCurrDir: string; //aRet: Cardinal;

iOS程序进入后台后仍运行定时器NSTimer

由于本应用需要在应用进入后台后还要进行定时的检测功能,因此对于我来说怎样让APP在进入后台后 保持运行状态是比较大的需求.然后在iOS系统中是很难实现的,不管是 通过 音频还是 定位系统,我查找了一些资料后都是只能申请到十分钟的运行态.没有所谓的长期运行的概念..... 然而在博客中突然看到这篇文章,尝试了下竟然可以运行很久.不管怎么样我还是先试试了......至于苹果是否能审核通过估计又是个难是 具体如下: 本文所讲为其中之一:iOS程序进入后台后十分钟之内就会被系统kill掉,怎么解决呢?我

程序长时间后台保持运行

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

IOS App 后台运行

使用block的另一个用处是可以让程序在后台较长久的运行.在以前,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让app最多有10分钟的时间在后台长久运行.这个时间可以用来做清理本地缓存,发送统计数据等工作. 让程序在后台长久运行的示例代码如下: // AppDelegate.h文件 @property (assign, nona

【学习总结】IOS程序运行过程 、UIWindow 、controller 、 UIView 创建过程的总结

程序启动开始到view显示: 程序启动首先会执行main函数 - > UIApplicationMain函数: 程序启动 (加载框架,info文件,资源等) 执行Main函数 初始化UIApplication单例对象 初始化AppDelegate对象,并设为UIApplication对象的代理 然后调用UIApplication的didFinishLaunchingWithOptions方法创建UIWindow对象,设置rootViewController根控制器等 然后建立一个主事件循环,其中

iOS 程序退到后台,如何继续执行任务

程序从前台退到后,将执行程序的委托方法. - (void)applicationDidEnterBackground:(UIApplication *)application { } 问题: 当应用被送到后台,主线程就会被暂停.用 NSThread 的 detachNewThreadSelector:toTar get:withObject:类方法创建的线程也被挂起. 场景: 应用从前台退到后台 程序执行代理方法 applicationDidEnterBackground.这时候,我们只有很短的

IOS的后台运行

写在前面给大家推荐一个不错的网站  www.joblai.com http://www.cocoachina.com/bbs/read.php?tid=149564 文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以, 1.音乐 2.location 3.voip 文二 在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在

IOS 程序运行过程

第一次写有点小紧张  希望大家多多指教! 主要讲讲程序从点击运行到结束这个过程中后面的代码都有哪些变化. 首先先了解一下UIApplication.UIApplication的核心作用是提供IOS运行期间的控制和协作工作. 1.首要的工作是处理用户事件,将所有事件放在一个队列当中,逐个处理.将当前要处理的事件,放到一个合适的处理事件的目标控件中去. 2.其次,还维护在本应用中打开的UIwindow实例,这样他可以接触应用中的任何一个UIView对象.他会被赋予一个代理对象UIApplicatio