14

30分ごとにサーバーにデータを送信するiOSアプリをコーディングする必要があります。アプリがバックグラウンドにある場合、これは機能しますか?それはどれほど信頼できるでしょうか?

4

3 に答える 3

23

要求している時間間隔でバックグラウンドでタスクを永続的に実行する方法はありません。開発者接続を介して特定の許可を要求することもできますが、非常に説得力のある議論が必要になることを警告する必要があります。以下のドキュメントを含めました。おそらく、リクエストは永続的に実行される可能性のあるグループの1つに含まれます。または、長時間実行されているバックグラウンドスレッドのいずれかを使用して、試行しているタスクを実行するように適応させることもできます。

Appleのドキュメントから直接:

長時間実行されるバックグラウンドタスクの実装

実装により多くの実行時間を必要とするタスクの場合、一時停止せずにバックグラウンドで実行するための特定のアクセス許可を要求する必要があります。iOSでは、特定のアプリタイプのみをバックグラウンドで実行できます。

  • 音楽プレーヤーアプリなど、バックグラウンドでユーザーに音声コンテンツを再生するアプリ
  • ナビゲーションアプリなど、ユーザーに自分の位置を常に通知するアプリ
  • 新しいコンテンツをダウンロードして処理する必要があるVoiceoverInternet Protocol(VoIP)ニューススタンドアプリをサポートするアプリ
  • 外部アクセサリから定期的に更新されるアプリ

これらのサービスを実装するアプリは、サポートするサービスを宣言し、システムフレームワークを使用してこれらのサービスの関連する側面を実装する必要があります。サービスを宣言すると、システムはどのサービスを使用しているかを知ることができますが、場合によっては、アプリケーションが一時停止されるのを実際に防ぐのはシステムフレームワークです。

〜/行末

于 2012-07-10T17:24:29.163 に答える
19

iOS7では、新しいマルチタスクAPIが導入されました。これにより、バックグラウンドタスクを無限に実行できます。Appleは、バックグラウンドセッションを作成して転送をエンキューするNSURLSessionAPIを使用することをお勧めします

「BackgroundFetch」と「remote-notifications」を含む新しいUIBackgroundModesもiOS7に導入され、バックグラウンドサービスの実行に役立ちます

于 2014-02-19T12:06:31.370 に答える
0

https://stackoverflow.com/users/1515108/im-lpが言ったように、iosによって提供されるいくつかの特別な場合を除いて、サービスとしてそれを行う方法はありません。しかし、あなたはそれをシミュレートすることができます。この投稿は、次の方法に答えます。

https://stackoverflow.com/a/19121250/2835520

お役に立てば幸いです。

于 2013-10-01T17:18:58.513 に答える