iphone - 如何每15分钟执行一次后台任务?

标签 iphone ios objective-c nstimer

我正在开发一个 iPhone 应用程序,当应用程序处于后台或前台时,它应该每 15 分钟更新一次 GPS 位置并将其传送到我的服务器。

我正在使用 NSTimer,它每秒调用一个方法来执行几件事(我的方法仅每 15 分钟更新一次位置) 我在 ViewController 中尝试使用以下方法让计时器在后台运行:

(...)

TimerTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler: ^{

}];

CurrentTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target: self selector: @selector(timerTicked:) userInfo: nil repeats: YES];

(...)

但问题是,大约 10 分钟后,当应用程序处于后台时,我的计时器似乎停止了。

有可能做对吗?

谢谢

最佳答案

您可以在 AppDelegate 中使用 NSTimer,也可以添加 NSNotification。两者都会有用。

请查看以下链接:-

How do I get a background location update every n minutes in my iOS application?

关于iphone - 如何每15分钟执行一次后台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358876/

相关文章:

iphone - 在应用程序运行时阻止 Iphone iOS 中的调用和短信

iOS-如何分解网页内容并根据需要显示它

iOS - GitHub Firebase 身份验证

ios - 在 Singleton Objective C 中删除 NSNotificationCenter 的观察者

iphone - 让 View 向上滑动以为键盘腾出空间?

iphone - 加载和解析 xml 文档卡住了 Iphone 中的 GUI

iPhone - 了解 iPhone 旋转

ios - Xcode 4.5 - 无法通过 iTunes 安装开发人员 .ipa 文件

ios - PreferredInterfaceOrientationForPresentation 没有被调用

objective-c - const 全局字符串文字已损坏