2

iOS でのバックグラウンド フェッチ用のテスト アプリを作成しました。そして、Debug -> Simulate Background fetch を介してシミュレーターで正常に動作します。しかし、iOS 8 を搭載したデバイスでは、1 日に 1 回しか呼び出されませんでした。iOSにもっと頻繁に呼び出すように強制する方法は?

私の手順とコードは次のとおりです。

1) プロジェクト -> 機能 -> バックグラウンド モード -> バックグラウンド フェッチ

2) AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   
    [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
}
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    UILocalNotification *localNotification = [[UILocalNotification alloc] init];
    NSDate *now = [NSDate date];
    localNotification.fireDate = now;
    localNotification.alertBody = [NSString stringWithFormat:@"Background fetch!"];
    localNotification.soundName = UILocalNotificationDefaultSoundName;
    NSInteger number = [UIApplication sharedApplication].applicationIconBadgeNumber;
    number++;
    localNotification.applicationIconBadgeNumber = number;
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

    completionHandler(UIBackgroundFetchResultNewData);
}

バックグラウンド フェッチが呼び出されるたびに、ローカル通知が表示される必要があります。

4

1 に答える 1