我知道有关于iOS背景提取的数百个主题。我根本无法解决我的问题,让我的应用程序的后台提取工作。对于我的应用程序的结果来说,获取工作背景是绝对可靠的。我的后台提取在模拟器上通过调试工作正常 - >使用特殊方案设置模拟背景提取和设备:“由于后台提取事件而启动”。我知道当用户强制退出应用程序时它不会被执行。我试图锁定iPhone并等待数小时然后将其解锁以尝试触发后台获取。什么都没发生。实际上一切正常,但背景提取根本就不会在我的iPhone上执行。我知道iOS有一个特殊的算法来调用后台线程,因此需要一点点患者。但经过2个月的等待背景取自动后,我再也没有病人了。我做了什么:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:2.0];
return YES;
}
- (void) application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
//Do my stuff
completionHandler (UIBackgroundFetchResultNewData);
}
答案 0 :(得分:2)
您是否已退房设置 - >常规 - >后台应用刷新并检查其是否已启用? 这可能是问题......