私たちには、終了が必要な特定の目的を持つアプリがあります。終了後、一定時間、または終了するまで、バックグラウンドでプロセスを実行する必要があります。私たちは、プログラムがプロセスを継続して実行できるバックグラウンドに入るようにプログラムで強制する方法を知る必要があります。これについてのどんな助けも素晴らしいでしょう!前もって感謝します!アプリを終了してバックグラウンドで実行する
更新:プログラムを強制的にバックグラウンドで終了してバックグラウンドタスクを実行するようなプログラム的な方法はないようです。 exit(0)を使用してアプリを強制終了することができます。しかし、これはすべて一緒にアプリを殺す。しかし、この質問の大部分は、バックグラウンドでタスクを実行することに関するものでした。私たちは、アプリケーションがデータの処理を開始し、ユーザーが処理するためにセットアップしたタスクを処理できるようにするソリューションを発見しました。ここに必要なコードです。これは、アプリケーションデリゲートに追加する必要があり、デバイス/ IOSではマルチタスクが必要です。アプリは任意のクリーンアップを行うに終了したときに
- (void)applicationDidEnterBackground:(UIApplication *)app{
// Check that IOS supports multitasking
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]){
// Check that the device supports multitasking
if ([[UIDevice currentDevice] isMultitaskingSupported]) {
// Custom setting to allow users the freedom to enable or disable background tasks
BOOL enabled = [[NSUserDefaults standardUserDefaults] boolForKey:@"backgroundTasksEnabled_key"];
if (enabled){
//Get the shared application instance
backGroundApp = [UIApplication sharedApplication];
background_task = [backGroundApp beginBackgroundTaskWithExpirationHandler:^{
[backGroundApp endBackgroundTask: background_task];
background_task = UIBackgroundTaskInvalid;
}];
// Run in background
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"\n\nProcess background tasks!\n\n");
// Do your work here
});
}
}
}
}
解決策を探している人には、誰がプライベートAPIを使用できますか[この回答を参照](http:// stackoverflow。 com/a/15997772/119114)。 – Nate