我一直在构建一个流应用程序,并且我必须实现一个系统,必须在午夜开始并在早上结束。我的问题是我无法弄清楚如何实现它。iOS,ObjC:服务在后台运行
该系统必须在应用程序启动时保持警惕,并且即使应用程序进入后台时也必须继续运行。
同时,我试图实现一个计时器,它只运行一段时间,并在一段时间后死亡。我的应用程序不是VoiP或StandApp。官方我没有权利运行无限的服务。无论如何,我需要一个解决方案,将在上午12点调用方法,并开始文件下载。
//and create new timer with async call:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//run function methodRunAfterBackground
NSTimer* t = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(isNightFrame) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:t forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];
});
然后我试图与UILocalnotifications
玩,但它似乎必须有用户迭代。他必须点击通知。
我需要一些建议,要走哪条路以及如何才能把事情做好。先谢谢你。
谢谢你的回应。实际上,我需要启动的服务是文件下载。当我的应用程序在后台时,如何在LocalNotifcation被触发后提交后台提取?我需要实现哪个AppDelegate方法? – NCFUSN
我更新了我对此的回答。 –
对于本地通知,当通知触发时,没有任何方法可以调用。应用程序永远不会知道何时触发本地通知但是一旦你点击通知,它就可以访问应用程序。 – Samir