LoginSignup
6
7

More than 5 years have passed since last update.

iTunes Storeの情報を簡単に取ってきて表示させるだけのサンプル"AppRankingParser"を書いた

Last updated at Posted at 2013-11-21

Appleが太っ腹にも提供している"RSS Feed Generator"
目当てのランキングを取り出すためのインターフェイスをつくりました。
(RSS側の値が変更されると身も蓋もないことになるので今後なんとかしたい)

GitHub somtd/AppRankingParser

 2013-11-21 18.11.53.png  2013-11-21 18.11.41.png

使ってもらうのはclass以下の4つのファイルです。

  • RankingApi.h

  • RankingApi.m

  • RankingApiClient.h

  • RankingApiClient.m

RankingApiClientAFHTTPClientのサブクラスとなっているので、こちらをそのまま利用する場合はAFNetworkingが必要になります。

RankingApiの概要

ARAudiobooks : iOSアプリのランキングを取得

+ (void)getiOSAppsRankingWithCountry:(ARCountry)country
                            feedType:(ARiOSApps)feedType
                               genre:(ARiOSAppsGenre)genre
                               limit:(int)limit
                             handler:(void (^)(id response, NSError *error))handler;

ARCountry : RSS取得対象の国

現在は、UnitedStates,Japanのみ利用可能。

ARiOSApps : フィードタイプ

  • ARiOSAppsTypeTopFree // iPhoneトップ無料

  • ARiOSAppsTypeTopPaid // iPhoneトップ有料

  • ARiOSAppsTypeTopGross // iPhoneトップセールス

  • ARiOSAppsTypeTopFreeiPad // iPadトップ無料

  • ARiOSAppsTypeTopPaidiPad // iPadトップ有料

  • ARiOSAppsTypeTopGrossiPad // iPadトップセールス

  • ARiOSAppsTypeNew //新着アプリ

  • ARiOSAppsTypeNewFree //新着無料アプリ

  • ARiOSAppsTypeNewPaid //新着有料アプリ

ARiOSAppsGenre : アプリのジャンル

  • iOSAppsBooks //ブック

  • iOSAppsBusiness //ビジネス

  • iOSAppsCatalogs //カタログ

  • iOSAppsEducation //教育

  • iOSAppsEntertaiment //エンターテインメント

  • iOSAppsFinance //ファイナンス
    ・・・

使い方(Demo)

% git clone git@github.com:somtd/AppRankingParser.git

% cd AppRankingParser/AppRankingParserDemo

% pod install

AppRankingParser/AppRankingParserDemoディレクトリの
AppRankingParserDemo.xcworkspaceを開く。

Demoでは適当なUITableViewControllerのサブクラスで上記のクラスメソッドを呼んでやってます。

[RankingApi getiOSAppsRankingWithCountry:Japan
                                        feedType:_iOSAppsType
                                           genre:0
                                           limit:20
                                         handler:^(id response, NSError *error) {
                                             _array = [NSMutableArray arrayWithCapacity:0];
                                             NSLog(@"response:%@",response);
                                             for (NSDictionary *appDictionary in (NSArray *)response) {
                                                 App *app = [[App alloc] initWithDictionary:appDictionary];
                                                 [_array addObject:app];
                                             }
                                             [self.tableView reloadData];
                                         }];

※Appというクラス名は適切ではありませんでした。ランキングを取得した結果をオブジェクトとして取り出す用に使っています。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7