![](https://habrastorage.org/getpro/habr/post_images/dd1/e17/fa6/dd1e17fa62279e932bb1ceadd5f226ed.png)
8か月前、Googleリーダーの閉鎖を記念して、YandexはサブスクリプションサービスのAPIを更新しました。 私はかなり長い間それを使用してきました、すべての興味深いニュースがそこに集められます。 そして、私は長い間iPadのクライアントを望んでいました。 個人的には、特に外出中に彼からのニュースを読む方がはるかに便利です。 しかし、時間が経ちました-そして、単一のクライアントは現れませんでした。 そうでない場合は、自分で書いてください。
幸いなことに、更新されたAPIでは、すべてのデータをJSONで受信できます。 アクセストークンを取得するには、OAuth認証(Habrに関するこのトピックに関する優れた記事 )を実行するだけです。
UISplitViewControllerの実装を選択するのは論理的でした-左側にはサブスクリプションとその中の投稿のリスト、右側にはニュースのコンテンツがあります。 表の左側では、カスタムUITableViewCellを作成して、未読ニュースの数を表示します。右側には、単にUIWebViewがあり、スイッチに応じてニュースを表示するか、ソースサイトでオリジナルを開きます。
![](https://habrastorage.org/getpro/habr/post_images/9c1/721/881/9c1721881cf6806f7b0c2d39833a26de.png)
一般に、それはかなり単純なRSSリーダーであることが判明しましたが、Yandexはサブスクリプションの収集とRSSフィードの解析のすべての作業を引き受けます(そして、これについては、些細なことが無効であるという別の記事もあるようです)彼らは会わなければなりませんでした)、データだけがクライアントに送信されます。
しかし、このような単純さだけでは十分ではありませんでした。 そして、私の意見では、サブスクリプションのWebバージョンはブラウザにとって少し重いです。 特にテープの記事にたくさんの写真があるとき。 たとえば、映画のある種類のトレントトラッカーで新しいディストリビューションにサブスクライブしている場合-ポスター、スクリーンショット、IMDBやKinopoiskなどのさまざまなロゴのアイコンが100万個あり、レコードが拡張されているかどうかに関係なく、すぐにブラウザーに読み込まれますまたは、10の画像を含む50のニュースアイテムが、さまざまな重大度のページで500の画像に変わります。
朝、お茶を飲みながら、彼はラップトップなどでニュースを開き、iPadで道路のどこかでそれを読み続けました。 読まれたものはすべて既読としてマークされ、すべてが同期され、美しさです。
![](https://habrastorage.org/getpro/habr/post_images/791/caf/335/791caf3356592d1203d206095218015c.png)
さらに、iPadのクライアントでは、ソーシャルで面白いニュースを共有できます。 ネットワーク、メール/ sms / iMessageで送信するか、記事をSafariの閲覧リストに保存して、後でネットワークにアクセスしなくても閲覧できるようにします。 もちろん、新しいニュースフィードを追加したり、既存のニュースフィードを削除したりできます。 追加するには-サイトのアドレスを入力するだけで、RSSがあれば、サービス自体によって削除されます。
開発中に遭遇した技術的特徴は、主にAPIに関連しています。
まず、新しいRSSフィードを追加すると、既存のすべての投稿にアーカイブフラグが付けられます。つまり、アーカイブ内にあり、残念ながら未読としてマークできないため、後で戻ってすぐに気付くことができます。 既読/未読には、サブスクリプションの瞬間以降にストリームに表示される投稿のみが含まれます。
次に、新しいRSSサブスクリプションサービスでは、フィードを「吸収」するために時間がかかる場合があります。 たとえば、このサービスは、少なくとも投稿のリストを表示する前に、Habrからの個人のRSSフィードを約40分間吸い込みました。
アプリケーションは無料です。 興味がある場合-リンク: itunes.apple.com/en/app/ajpodpiski-rss-klient-dla/id855118050?mt=8
PSアプリケーションを改善するためのアイデアがあれば、コメントを聞いてください。