私のアプリは、毎日の終わりのX時にTwitterにメッセージを投稿する必要があります。アプリはこの時間Xに実行されていない可能性がありますが、それでもそのメッセージを投稿する必要があります。私は毎日この仕事をするように頼むことによってユーザーを煩わせたくありません。
プッシュ通知を使用して、アプリが実行されていない場合でも、毎日一定の時間にアプリでタスクをサイレントに(アラートビューのポップアップやサウンドなどなしで)実行できますか?
どうも
プッシュ経由で送信できる「通知」メカニズムには、アラート、サウンド、およびバッジ値の 3 つがあります。プッシュ通知が機能する方法は、電話でアプリを起動し、それらの値とともに「プッシュ ペイロード」を渡すことです。3 つのメカニズムをすべてオフにしても、OS は毎回アプリを起動する必要があるため、ユーザーの操作が中断されます。
要するに、プッシュを静かに行うことはできません。ユーザーエクスペリエンスの観点からすると、Apple がユーザーに何らかの通知を受けずに電話で何かが起こることを許すとは思えません。
いいえ。
ジェイルブレイクされていない iPhone でアプリによって実行されるようにスケジュールを設定することはできません。
唯一の解決策は、アプリから詳細をプッシュし、ユーザーに代わってスケジュールされた更新を実行する、どこかに個別にホストされたサービスを用意することです。
黙ってそうするのはあなた次第ではありません。iPhone デバイスには、プッシュ メカニズムを備えた各アプリに、アラートが必要かどうかを指定できる設定がある構成があります。yes に設定すると、アラートのテキストも表示されます。
ある種のタスクを実行するために、毎日特定の時間にアプリを「起動」しようとしているようです。iPhoneについて私が理解していることから、これは不可能です。指定した時間に起動する cron ジョブや何かを作成することはできません。これをサーバー側で実行し、メッセージが twitter に投稿されたことを知らせる通知をユーザーにプッシュすることができます。
ジェイルブレイクされた電話を使用している場合、これを行う方法があると確信しています。
本当に電話からやりたい場合は、「長期的な」バックグラウンド タスクをここ (iPhone アプリ プログラミング ガイド) のどこかでカバーする必要があると宣言するだけです...君が好きなものならなんでも... :)
プッシュ通知では、サーバーが通知を送信する必要があることを考えると、ステップをスキップして、サーバーがユーザーに代わって更新を Twitter に直接送信するだけにしてみませんか? あなたが求めているように、プッシュ通知を使用してiPhoneで自動タスクをトリガーすることはできません-ユーザーは、何かが起こるために通知を受け入れる手順を踏む必要があります.