0

私は Android アプリを作成し、現在 iPhone に移植しています。Android バージョンはブロードキャスト レシーバーを使用して、デバイスの再起動時に通知を受け取り、そのときに Web サーバーとのバックグラウンド同期を行います。次に、アラーム マネージャーを使用して X 分 (アプリ設定でユーザーが X を設定) で別の通知をスケジュールします。これは、別のバックグラウンド同期を行うだけです。

これは iPhone で可能ですか? また、どの API を調べる必要がありますか? 私は OSX Mountain Lion で最新の XCode バージョン (4.5 だと思います) でプログラミングしており、主に iPhone をターゲットにしていますが、iPad でも動作するものを望んでいます。iPhone 4 (iOS 5.0) 以降は、ほとんどのお客様が新しいデバイスを使用しているため、問題ありません。

明らかでない場合、私は XCode、Mac OS、iOS、および Objective-C に非常に慣れていません (Alt-TAB を使用してウィンドウを切り替えようとしています)。

4

1 に答える 1

2

これは iPhone では不可能です。Apple のマルチタスク モデルとは互換性がありません。動機を理解するのに役立つ場合、Apple の基本的な立場は、アプリが自由にバックグラウンドで実行できるようにすることは、バッテリー寿命の観点から非常に悪い考えであるということです。

ユーザーが現在オンラインでない場合に何かを認識させたい場合は、起動時に同期し、プッシュ通知を使用する必要があります。特定のイベント (場所の変更、VoIP 通話の受信、オーディオ コンテンツの再生など) で厳密に限られた時間だけ起動できる特別なカテゴリのアプリがいくつかありますが、リストは厳密で制限されています。このドキュメントを参照してください。特に、「長時間実行されるバックグラウンド タスクの実装」以降のものに注意してください。

于 2012-09-21T21:47:01.040 に答える