2011-03-05 7 views
0

15分ごとにサイトのチェックを行うアプリをビルドしています。開いているとき、私はアプリでこれをうまくやることができます。しかし、アプリがバックグラウンドにいる間、これをやりなおすにはどうすればいいですか?アップルプッシュ通知

問題はプッシュ通知サービスを使用することができないと思います。チェックされているサイトのページでは、ユーザーがサイトにログインする必要があります。アプリごとにクッキージャーが存在するため、ユーザーは最初UIWebViewを介してサイトにログインしてログインすると、NSURLConnectionを使用して15分ごとにサイトがポーリングされ、Cookieのためにログインしたユーザーのデータが受信されますログイン時にwebviewで作成されます。私は多くの異なるユーザーのためにサーバー上でこれを行う方法があるとは思わない?また、ユーザーのサイトのユーザー名とパスワードをプッシュサーバーに格納する必要がない場合は、

タスクの完了を使用することもできますし、サーバーから正しいCookieが存在し、プッシュ通知を使用したときに正しく表示されるページにアクセスすることもできます。

答えて

1

残念ながら、UIWebviewからクッキーを取得する方法はありません。タスクのバックグラウンド補完は10分間しか実行できません。

アクセスしようとしているWebサイトの種類はわかりませんが、NSURLConnectionを使用してログインを複製できる場合は、NSHTTPCookieを使用してCookieを取得できます。その後、サーバーにCookieデータを格納し、「Set-Cookie」ヘッダーを使用してサーバーからWebサイトにアクセスし、内容の変更をチェックします。

これはもちろん、クッキーがどれくらい持続するか(期限切れ)によって異なります。

+0

クッキーをサーバーに保存しても問題ありません。誰かがそのアカウントからハックする可能性があります。また、どのようにしてサーバーがwhosであることを知っていますか? –

+0

さて、あなたがそれをすることをあなたのユーザに警告する必要があります。もちろん、誰かがサーバーにアクセスできない場合は、アカウントをハックする可能性があります。サーバの設定ができるだけ安全であることを確認する必要があります。 – tomislav

+0

ユーザーのプッシュ通知トークンにユーザーCookieを結びつけることができます。 – tomislav

関連する問題