2011-02-10 13 views

答えて

1

アプリのバックグラウンドで実行時間をリクエストすることは可能です。あなたのhttpリクエストの意図に応じて、プッシュ通知が実行可能な代替案であってもよいし、けれども

Multitasking Developer's Guide

を参照してください。

これは、オーディオ、VoIP、またはロケーションサービスを提供していないために必要な場合があります。そのため、アプリは無期限にバックグラウンドで実行できません。

+0

私は同意します。具体的には、**リスト4-2 PDFでquit tim **でバックグラウンドタスクを開始することに注意してください。 –

+0

@diwupは、バックグラウンドでより多くの稼働時間を得るための以前の記事の回避策を持っています(ただし、あなたは常にそれが得られるとは限りません) – Undeadlegion

1

驚くべきことに、実際には、「マルチタスク」iOS 4.xでタイムスライシングがほとんど行われていません。代わりに起こるのは、実際にはアプリケーションの中断/再開だけです。ユーザーがホームボタンをタップしたときにアプリケーションがバックグラウンドに送信されると、しばらくすると実行サイクルが停止します(*)。

(*)いくつかの例外があります。 「VoIPプロバイダー」、ロケーションベースのアプリケーション、および音楽アプリケーションとして自分自身を宣言するアプリケーションは、おそらく、(「重要なロケーションの変化」のような)対応するイベントに応答して非常に特定の操作を実行するだけで、バックグラウンドの実行サイクルを得ることができます。いくつかのアプリは明らかにルールを拡張して、文書化されていないか、あるいは強く文書化されていないテクニックがバックグラウンドで実行サイクルを継続するのを見つけようとします。

Undeadlegionが言及した「要求された実行時間」は、期間が限られています。

現実には、iOS4ではアプリケーションがバックグラウンドで連続して実行できないということです。

+0

"Undeadlegionが言及した「要求された稼働時間」は、はい、それは限られています。しかし、古いものが時間切れになるたびに(そして古いものを終了する)毎回新しい許可を要求することができます。また、時間制限は観測に基づいて10分です。すでに多くのhttpタスクのために十分な長さではありませんか? –

+0

あなたは、バックグラウンド実行が限られているという事実にまだ対処していません。はい、新しい許可証を申請することはできますが、それはあなたが1つを取得しようとしているわけではありません。 iOSの「バックグラウンド」処理は、プロセスが制限なく互いに対して時間スライスされている汎用OSのようなものだと考えるように、人々を誤解させないほうがよいでしょう。 – Bogatyr

1

@Undeadlegionは、あなたの目標を達成するためのもっともらしい方法を提案しています。より明確にするために、SOでの同様の質問に対する前回の回答を見てください。iphone - Connecting to server in background

+0

OPは、彼は "バックグラウンドでアプリを実行し、頻繁にhttpリクエストを送信したい"と述べています。アプリケーションが実行時間の*有限*長さの拡張を適用できるソリューションで彼を指揮することは、彼の目標を直接満たすものではありません。 iOS 4の「マルチタスキング」では、バックグラウンド操作を無制限に連続して行うなど、何もないという期待を設定する方が正しいです。 – Bogatyr

+0

@Bogatyrあなたの答えに私のコメントを見てください。 –

関連する問題