23

アプリケーションをバックグラウンドで実行し続けるにはどうすればよいですか? これを行うには、iPhone をジェイルブレイクする必要がありますか? このアプリは、設定された間隔ごとにインターネットから何かをチェックし、必要に応じて通知するために必要です。

4

7 に答える 7

21

はい、脱獄する必要はありません。Appleのこのドキュメントの「長時間実行されるバックグラウンド タスクの実装」セクションを確認してください。

Apple のドキュメントから: Declaring Your App's supported Background Tasks

一部のタイプのバックグラウンド実行のサポートは、それらを使用するアプリによって事前に宣言する必要があります。アプリは、Info.plist ファイルを使用してサービスのサポートを宣言します。UIBackgroundModes キーを Info.plist ファイルに追加し、その値を次の文字列の 1 つ以上を含む配列に設定します (上記のリンクから Apple のドキュメントを参照してください)。

于 2012-05-20T14:44:19.133 に答える
5

これを行うには、ローカル通知を使用します。しかし、これは毎回チェックするわけではありません。特定のイベントをチェックする時間を設定する必要があります。時間枠を減らすことでこれを短縮できます。これを達成する方法については、ローカル通知の詳細をお読みください:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html

于 2012-05-20T14:00:26.307 に答える
5

私はこれがあなたが必要としたものだと思います

iOS アプリケーションがバックグラウンドに移行すると、時間のかかるタスクは一時停止しますか?

iOS アプリケーションのバックグラウンド ダウンロード

これはあなたを助けるかもしれません...

コーディングをお楽しみください :)

于 2012-05-20T14:00:41.580 に答える
3

これがあなたの質問に対する答えではないことは承知していますが、解決策だと思います。

これは、定期的に何かをチェックしたり、インターネットからデータを取得したりすることを前提としていますか?

設定された間隔ごとにインターネットをチェックして知りたいことを確認するサービスを作成し、プッシュ通知を作成して、サーバーがダウンしている場合、または監視しようとしているものの状態が変化した場合に警告します。ただのアイデア。

于 2012-05-20T14:48:31.937 に答える
1

はい、このようなことができます。そのためには、info.plist にエントリを設定して、アプリがバックグラウンドで実行されることを OS に伝える必要があります。特定のタイムスタンプの後にユーザーの場所をサーバーに渡したいときに、これを行いました。そのために、「必要なバックグラウンド モード」を「アプリが位置情報の更新に登録する」に設定しました。

タイプ UIBackgroundTaskIdentifier のハンドラーを作成できます。

于 2012-05-21T11:13:22.120 に答える
-2

applicationDidEnterBackground メソッドですでにこれを行うことができます

于 2012-05-20T13:57:02.173 に答える