私はOBJ-Cの学習を始めたばかりですが、構築に向けて取り組んでいる最終目標のアプリがあります。このアプリはiPadのマスター/詳細アプリであり、「リアルタイム」でWebサービスを使用して更新を維持する必要があります。また、複数のユーザーの1人(別々のiPad上にいる)がアプリ内で特定のアクションを実行するときに、リモートのMySQLDBにデータを送信する必要があります。
編集:lxtが非常に役立つように明確にしたように、「Webサービスをポーリングするための手がかりとしてプッシュ通知を使用するのは適切ですか」-答えは一種です。
この質問の目的で私が想像した例は、テーブルビューに流れる「受信」在庫と、ユーザーが詳細ビューで在庫をドラッグアンドドロップする「在庫保管箱」を持つウィジェット在庫マネージャーです。 。
そのようです:
注:私のアプリケーションは、フォアグラウンドにないときに更新されたままである必要はありません。それは再び打ち上げられるまで幸せに眠ることができます。その時点で、最新のデータで自分自身を更新する必要があります。カイルは、 applicationWillEnterForegroundを使用して、問題のこの特定の側面に対する回答を提供しました。
Webサービスサーバーに負担をかけずにこれを実現するために、WebサービスのポーリングとPUSH通知を組み合わせて、1人のユーザー(iPad)がデータに変更を加えたときにポーリングをトリガーするソリューションを想像しました。したがって、フローは次のようになります。
Webサービスの「デフォルト」ポーリングは、ユーザーが実行する可能性のあるアクションに関係なく、毎分起動します。
ユーザーがインベントリアイテムをテーブルビューからドラッグしてストレージビンにドロップすると、同じ包括的なアカウントにログインしている他のiPadへのPUSH通知が開始され、Webサービスのポーリングがトリガーされてデータが更新されます。
つまり、iPad "A"のユーザーが何かを変更すると、PUSH通知がiPad "B"、iPad "C"などに送信されます。PUSHがB、C、Dなどによって受信されると、ユーザーはポーリングします。サーバーでデータを更新します。
これに代わる方法は、アカウント上のすべてのiPadが15秒ごとにWebサービスのポーリングを実行するようにすることです。これは私には帯域幅を消費するように思われます(そして多くの場合、データに変更はありません)。
私の質問は「どうすれば...?」ではありません。その他の「どうすれば...?」StackOverflowはこれをやや「主観的」だと思うかもしれませんが、この特定のプラクティスを調査し(PUSH通知を使用してWebサービスポーリングをトリガーする)、関連する記事がまったくないことを考えると、これは非常に価値のある質問だと思います。
これをお読みいただきありがとうございます。どんな助けでもいただければ幸いです。サンプルコードおよび/または特定のフレームワーク/キット情報をいただければ幸いです。しかし、本当に今、私はこれが良い考えであるかどうかを知る必要があります。