問題タブ [background-fetch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - Xcode のバックグラウンド モードでアプリを使用している場合、バックグラウンド スレッドでコア データ リクエストが機能しない
バックグラウンド フェッチを実行するためにアプリが呼び出されたとき (アプリの状態がバックグラウンド)、メイン スレッドではなくコア データ リクエストを実行し、メソッドが永久にフリーズします。しかし、メインスレッドを使用すると機能します。
バックグラウンド モードの場合、コア データには常にメイン スレッドを使用する必要がありますか? それについてのアップルのドキュメントはありますか?
ios - アプリがバックグラウンドにあるときにバックグラウンド fetch が呼び出されますか?
iOS はperformFetchWithCompletionHandler
、(ホーム ボタンを使用して) バックグラウンドに移行する実行中のアプリを呼び出しますか?
iOSがアプリを起動してバックグラウンドフェッチを行うときにのみ呼び出されると思いました。
アプリがバックグラウンドで実行されていてもiOS が起動performFetchWithCompletionHandler
する場合、もう 1 つ質問があります。
リモートサーバーから定期的にデータを取得する必要があります。私は今使用NSTimer
しており、アプリがバックグラウンドであっても機能します。私の考えは、アプリが実行されていなくてもバックグラウンドフェッチを使用することでしたが、バックグラウンドフェッチを有効にすると、自分のスレッド (with NSTimer
) がフェッチと iOS 呼び出しを行う状況に直面する可能性がありますperformFetchWithCompletionHandler
。
では、アプリがバックグラウンドに移行したときにタイマーを停止し、バックグラウンド フェッチを待つべきでしょうか?
ios - 30 秒を超えるバックグラウンドフェッチ
複数のzipバンドルをダウンロードする必要があるiOSアプリを開発しています。ダウンロードを処理するために、内部の C++ http フレームワークを使用しています。
Background-Fetch
30 秒以上実行する可能性はありますか?
1 つの可能性はNSURLSession
Withの使用ですNSURLSessionDownloadTask
が、http フレームワークは NSURLSession を使用しません。
別の解決策は次のとおりです。
ただし、これは 30 秒間しか機能しません。
Background-Fetch
しかし、どうすれば 30 秒以上の Zip ファイルをダウンロードできますか?
ios - 定期的なローカル通知を起動するが、スケジュールが変更されるアプリに対処する方法は?
日の出と日没のローカル通知を毎日送信する必要があるアプリを作成しています。
- 日の出と日の入りの時間は毎日変わります。
- ユーザーがアプリを開かなかった場合でも、ローカル通知の登録が行われるようにします (つまり、バックグラウンド タスク)。したがって、ユーザーはアプリをインストールし、自分の場所を設定します (日の出とサスネットの計算は場所に基づいているため)。その後、アプリを開いたりインターネットに接続したりする必要なく、日の出と設定の通知を毎日受け取ることがわかります。
- 理想的には、一定期間ごとに少なくとも 1 回実行されるローカル通知を登録するためのバックグラウンド タスクが必要です。「たとえば、来週のローカル通知を登録します。その場合、少なくとも週に1回実行する必要があります」.
- 現在のバックグラウンド モードはどれも私の場合には当てはまりません。バックグラウンド フェッチを試みましたが、データがダウンロードされていないため、iOS は数日後にバックグラウンド タスクの実行を停止しました。
- プッシュ通知を使用できることはわかっていますが、電話がインターネットに接続されていなくても通知が行われるようにするため、最後のオプションでない限り使用したくありません。
では、どうすればこれに対処できると思いますか? 足りないものはありますか?
ios - バックグラウンド フェッチを実行するときに常に UIBackgroundFetchResultNewData を返さないことの欠点は何ですか?
iOS アプリにバックグラウンド フェッチを実装しました。アプリのデリゲートにこのメソッドを実装しました。
これを実装する正しい方法は、新しいデータがあり、ダウンロードするcompletionHandler(UIBackgroundFetchResultNewData)
新しいデータがないときに呼び出すことです。completionHandler(UIBackgroundFetchResultNoData)
ただし、すべての Web サービスがこの情報を提供できるわけではありません。それらのいくつかは、新しいものがないにもかかわらず、開発者が常に新しいデータを取得することを要求するだけです. この場合、completionHandler(UIBackgroundFetchResultNewData)
すべてのバックグラウンド フェッチで呼び出すことのマイナス面は何でしょうか?
ios - iOS のバックグラウンド フェッチの実行時間が長すぎますか?
7 時間ごとに実行されるバックグラウンド ジョブがあり、API 呼び出しに約 1 ~ 3 秒かかります。設定のバッテリー セクションを見ると、ジョブが過去 20 時間で 40 分間バックグラウンドで実行されていることがわかります。
バックグラウンド フェッチのシミュレートは問題なく機能し、数秒以内に完了を呼び出します。
なぜそれがあまりにも長く実行されているのか分かりますか?
ios - リモート通知による iOS バックグラウンド フェッチ
バックグラウンド フェッチとサイレント リモート通知の両方を同時に使用して、バックグラウンド アクティビティの数を最大化することはできますか? Apple は両方に制限を設けていると言っていますが、両方を使用すると、そのような制限を回避できますよね? バックグラウンド フェッチ間隔を最小に設定し、15 分ごとにサイレント通知を送信すると、どのように機能しますか?