iPhone 4のマルチタスク機能を利用しようとしています。私はバックグラウンドでアプリを実行したい、頻繁にデータを送信/受信するHTTPリクエストを送信する、可能ですか?iPhone SDK、バックグラウンドでアプリを実行して頻繁にhttpリクエストを送信
答えて
アプリのバックグラウンドで実行時間をリクエストすることは可能です。あなたのhttpリクエストの意図に応じて、プッシュ通知が実行可能な代替案であってもよいし、けれども
はMultitasking Developer's Guide
を参照してください。
これは、オーディオ、VoIP、またはロケーションサービスを提供していないために必要な場合があります。そのため、アプリは無期限にバックグラウンドで実行できません。
驚くべきことに、実際には、「マルチタスク」iOS 4.xでタイムスライシングがほとんど行われていません。代わりに起こるのは、実際にはアプリケーションの中断/再開だけです。ユーザーがホームボタンをタップしたときにアプリケーションがバックグラウンドに送信されると、しばらくすると実行サイクルが停止します(*)。
(*)いくつかの例外があります。 「VoIPプロバイダー」、ロケーションベースのアプリケーション、および音楽アプリケーションとして自分自身を宣言するアプリケーションは、おそらく、(「重要なロケーションの変化」のような)対応するイベントに応答して非常に特定の操作を実行するだけで、バックグラウンドの実行サイクルを得ることができます。いくつかのアプリは明らかにルールを拡張して、文書化されていないか、あるいは強く文書化されていないテクニックがバックグラウンドで実行サイクルを継続するのを見つけようとします。
Undeadlegionが言及した「要求された実行時間」は、期間が限られています。
現実には、iOS4ではアプリケーションがバックグラウンドで連続して実行できないということです。
"Undeadlegionが言及した「要求された稼働時間」は、はい、それは限られています。しかし、古いものが時間切れになるたびに(そして古いものを終了する)毎回新しい許可を要求することができます。また、時間制限は観測に基づいて10分です。すでに多くのhttpタスクのために十分な長さではありませんか? –
あなたは、バックグラウンド実行が限られているという事実にまだ対処していません。はい、新しい許可証を申請することはできますが、それはあなたが1つを取得しようとしているわけではありません。 iOSの「バックグラウンド」処理は、プロセスが制限なく互いに対して時間スライスされている汎用OSのようなものだと考えるように、人々を誤解させないほうがよいでしょう。 – Bogatyr
@Undeadlegionは、あなたの目標を達成するためのもっともらしい方法を提案しています。より明確にするために、SOでの同様の質問に対する前回の回答を見てください。iphone - Connecting to server in background
OPは、彼は "バックグラウンドでアプリを実行し、頻繁にhttpリクエストを送信したい"と述べています。アプリケーションが実行時間の*有限*長さの拡張を適用できるソリューションで彼を指揮することは、彼の目標を直接満たすものではありません。 iOS 4の「マルチタスキング」では、バックグラウンド操作を無制限に連続して行うなど、何もないという期待を設定する方が正しいです。 – Bogatyr
@Bogatyrあなたの答えに私のコメントを見てください。 –
- 1. アプリがバックグラウンドのときにHTTPリクエストを送信する
- 2. iPhone - バックグラウンドでのアプリの送信
- 3. iPhoneアプリ:アプリがバックグラウンドで実行されているときに警告メッセージを送信しますか?
- 4. Windows Powershellがjboss 7.1.1を頻繁に実行してハングする
- 5. HTTPリクエストを送信しています
- 6. httpリクエストとしてカスタムアクセストークンを送信
- 7. Node.js 0.4.10。 http get()リクエスト「ETIMEDOUT Connection timed out」頻繁
- 8. iPhoneのHTTPリクエストをApache PHP Webサーバーに送信
- 9. サーバへのHTTPリクエストを送信するJmeterの実行動作
- 10. HTTPリクエストを送信する
- 11. フィドラースクリプトがHTTPリクエストを送信
- 12. 電子アプリが頻繁にハングする
- 13. 私のアプリは頻繁に死ぬ
- 14. アプリが終了してもiOSで非同期HTTP POSTリクエストを送信する
- 15. 私のiPhoneアプリでバックグラウンド実行スレッドをキャンセルする方法
- 16. クライアントが頻繁にメッセージを送信しないマルチクライアントサーバーアプリケーションを設計する
- 17. テレグラムapiは頻繁に私たちのapiにメッセージを送信します
- 18. バックグラウンドでPerlスクリプトを実行してコマンドを送信してください
- 19. iPhoneで写真を頻繁に撮るには?
- 20. バックグラウンドで実行しているときに応答するiPhoneアプリ
- 21. アプリをバックグラウンドで実行し続ける
- 22. Androidアプリからhttp GETリクエストを送信してレスポンスを確認する方法
- 23. iPhoneアプリのネットワーク通信のバックグラウンド
- 24. httpリクエスト(Django)でpage_sizeを送信する
- 25. Meteor HTTP GETリクエストでデータを送信
- 26. Wininetで複数のHttpリクエストを送信
- 27. AndroidでHTTP DELETEリクエストを送信する
- 28. ESP8266とArduinoでHTTPリクエストを送信
- 29. 目的のCでHTTPリクエストを送信
- 30. PerlでHTTPリクエストを送信する
私は同意します。具体的には、**リスト4-2 PDFでquit tim **でバックグラウンドタスクを開始することに注意してください。 –
@diwupは、バックグラウンドでより多くの稼働時間を得るための以前の記事の回避策を持っています(ただし、あなたは常にそれが得られるとは限りません) – Undeadlegion