永远不会调用后台提取

时间:2015-03-29 11:17:10

标签: objective-c iphone

我知道有关于iOS背景提取的数百个主题。我根本无法解决我的问题,让我的应用程序的后台提取工作。对于我的应用程序的结果来说,获取工作背景是绝对可靠的。我的后台提取在模拟器上通过调试工作正常 - >使用特殊方案设置模拟背景提取和设备:“由于后台提取事件而启动”。我知道当用户强制退出应用程序时它不会被执行。我试图锁定iPhone并等待数小时然后将其解锁以尝试触发后台获取。什么都没发生。实际上一切正常,但背景提取根本就不会在我的iPhone上执行。我知道iOS有一个特殊的算法来调用后台线程,因此需要一点点患者。但经过2个月的等待背景取自动后,我再也没有病人了。我做了什么:

  1. 应用功能:激活后台提取
  2. Info.plist:所需的背景模式:应用程序从网络下载内容
  3. App代表:
  4.  - (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);
    }
    

1 个答案:

答案 0 :(得分:2)

您是否已退房设置 - >常规 - >后台应用刷新并检查其是否已启用? 这可能是问题......