在我将项目从XCode 5和iOS 7.1移至XCode 6和iOS 8.0之前,我的应用程序正在后台运行。
不幸的是,现在方法___repeating
在后台停止重复。我错过了什么?最近我在 developer.apple.com 上做了很多更改。这可能是原因? Apple是否更改了后台应用程序如何工作的规则?代码和功能屏幕位于下方。
- (instancetype)init {
self = [super init];
if (self) {
[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(___repeating) userInfo:nil repeats:YES];
}
return self;
}
- (void)___repeating {
DLog(@"Working!");
}
答案 0 :(得分:2)
这不是后台处理应该如何在iOS上运行。 See Apple's documentation on multitasking。通常,您设置任务并等待操作系统调用特定方法,这样您的应用程序就可以在调用之间休眠。您的应用甚至可以在呼叫之间完全被杀死,操作系统将在适当的时间重新启动它。