我在ios5中实现了长时间运行的进程方法。当我的应用程序在后台时,我想每隔30秒或1分钟激活一些功能。我已经编写了执行长时间运行过程的代码,输入后台方法,输入后我无法执行定时器功能背景。我应该把我的计时器功能放在哪里,以便它应该调用目标方法,即使它在后台。
bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
// Clean up any unfinished task business by marking where you.
// stopped or ending the task outright.
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(targetMethod) userInfo:nil repeats:YES];
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
怎么做?一些示例代码会有所帮助。
由于 普什帕
答案 0 :(得分:4)
您只能在后台支持位置服务。音频播放和VOIP服务。 如果你的应用程序没有使用任何这些API及其功能..请不要浪费你的时间去做...即使有一些方法可以实现这一点,Apple也不会接受你的应用程序。