在 iOS 中运行后台服务
Posted
技术标签:
【中文标题】在 iOS 中运行后台服务【英文标题】:Running Background Service in iOS 【发布时间】:2014-06-30 06:49:49 【问题描述】:我是 ios 应用程序开发的新手。我想在 iOS 中创建一个后台服务。我还想提一下一天中的特定时间和间隔(每 2 小时)来调用服务(一种调用服务的警报)。当服务运行时,一些任务应该独立于应用程序的状态来执行,即应用程序可以处于活动或非活动状态。它的任何示例或实现的代码 sn-p 都将帮助我实现此功能。
【问题讨论】:
了解苹果文档中的 localNotification developer.apple.com/library/ios/documentation/… appcoda.com/ios-programming-local-notification-tutorial 【参考方案1】:使用此代码
- (void)applicationWillEnterForeground:(UIApplication *)application
[Timer invalidate];
Timer = nil;
- (void)applicationDidEnterBackground:(UIApplication *)application
NSLog(@"Background process is Start(EnterBackground)!");
__block UIBackgroundTaskIdentifier bgTask ;
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
];
Timer = [NSTimer scheduledTimerWithTimeInterval:120.0f target:self selector:@selector(process) userInfo:nil repeats:YES];
【讨论】:
你能解释一下这里的定时器是什么吗?它在代码中给出错误。 在.h文件中声明NSTimer *Timer; 非常感谢。这行得通!但这是在后台运行某些东西的正确方法吗? iOS 中有没有类似服务的东西? 是否可以提及某个特定时间,例如上午 11:00?以上是关于在 iOS 中运行后台服务的主要内容,如果未能解决你的问题,请参考以下文章