https://stackoverflow.com/a/10319761/1680408を参照してください。私のアプリでは、ユーザーはオーディオビデオと画像をサーバーにアップロードできます。アプリケーションがバックグラウンドに移行した場合、そのタスクは終了するまでそのままにしておく必要があります。私は投稿が提案した解決策を実装しました、そしてそれはうまくいきます!ただし、面白い警告が生成されます。
以下のものを使用すると、次のようになります。
- (void)beingBackgroundUpdateTask
{
self.backgroundUpload = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];
}];
//
}
この次の例では、修正の提案があります。
- (void)endBackgroundUpdateTask
{
self.backgroundUpload = UIBackgroundTaskInvalid;
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpload];
}
修正を使用すると、コードが機能しないことが示唆されます。正直に言うと、それが機能するので、私はそれほど大騒ぎしていません。しかし、これが原因でAppleが私のアプリを拒否するのではないかと心配しています。だからちょっと、後悔するよりも安全になりたいだけです。この種の問題が却下されないという事実を誰かが知らない限り。とても奇妙!この種の警告が表示されるたびに、アプリがクラッシュします。私はこれを検索しましたが、提案は実際には役に立ちませんでした。簡単な修正があるのか、それとも一般的な修正だけなのか、誰か知っていますか?
ありがとう!