サーバーに ping を実行する前に、以下のコードを使用してアプリにバックグラウンド プロセスのサポートを追加しました。
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
if (!connection) {
connection = [[NSURLConnection alloc] init];
}
(void)[connection initWithRequest:originalRequest delegate:self];
このコードが原因で、アプリケーションを 10 分以上バックグラウンド モードにしておくとクラッシュします。私の理解では、タスクをバックグラウンドで継続的に実行することを許可しないでください。各タスクに一定の時間間隔を設定する必要があります。しかし、それらを殺すための時間間隔を設定する方法がわかりません。
この問題を解決するためのいくつかの手順を提案してください。