テスト目的でのみベンチマークアプリを作成しています。これを App Store に公開するつもりはありません。
もちろん、UIBackgroundTaskIdentifierを使用してバックグラウンドで実行し続け、データをCore Data dbに保存し、最終的にデータをサーバーにプッシュします(私はParseを使用しています)。
したがって、基本的に、私の特定のケースに当てはまる質問は見つかりませんでした。私はNSTimerを次のように設定しました:
UIBackgroundTaskIdentifier bgTask;
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
}];
self.timer = [NSTimer scheduledTimerWithTimeInterval:self.localInterval target:self selector:@selector(updateCoreData:) userInfo:nil repeats:YES];
メソッド updateCoreData は単に Core Data クラスを呼び出し、必要な挿入を行います。
VoIP と音楽再生部分について読んだことがありますが、どちらが私のケースに最も適しているか、またそれらを実装する方法が正確にはわかりません。