2014-01-15 2 views
2

В настоящее время я работаю над одним приложением iOS, в котором я использую [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];. Согласно документам, которые я реализовал таким образом.iOS 7 Background fetch

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    NSLog(@"Launched in background %d", UIApplicationStateBackground == application.applicationState); 

    [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]; 
    i =0; 

    return YES; 
} 


-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { 
    NSLog(@"Fetch started"); 
    ++i;  

    // Set up Local Notifications 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
    NSDate *now = [NSDate date]; 
    localNotification.fireDate = now; 

    localNotification.soundName = UILocalNotificationDefaultSoundName; 
    localNotification.alertBody = @"BG Mode"; 
    localNotification.applicationIconBadgeNumber = i; 

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

    completionHandler(UIBackgroundFetchResultNewData); 
    NSLog(@"Fetch completed"); 
} 

Моя проблема заключается в том, что я попытался отладить его, чтобы узнать, как часто этот метод вызывает. У меня не было никаких разъяснений. Я тестировал с интервалом времени 60 секунд, но это тоже не работает. Пожалуйста, дайте мне какие-либо идеи или предложения. Заранее спасибо .

ответ

1

Просто чтобы прояснить, вы также установить UIBackgroundModes в Info.plist согласно документации Apple, ...

Это свойство не имеет никакого эффекта для приложений, которые не имеют ключа UIBackgroundModes с выборки значения в файле Info.plist.