在应用程序背景化时需要花费很长时间的工作

时间:2011-06-05 20:24:30

标签: objective-c cocoa-touch ios background multitasking

我想要一个方法在后台工作,直到用户指定的持续时间(比方说20分钟)过去。我知道这是不可能的,因为Apple允许该应用程序在后台运行最多10分钟。不幸的是,FireDate仅适用于UILocalNotification。我还阅读了performSelector:Selector:WithObject:afterDelay:方法,但我不确定它是否会在后台运行。请给我Suggesstions和代码片段(如果有的话)。

1 个答案:

答案 0 :(得分:0)

将使用两种方法:

NSObject -(void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg

UIApplication - (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^)(void))handler

如果您希望用户重新启动,可以使用

本地通知,但如果他们没有点击进入该应用,那么您的应用永远不会知道它