Appleが太っ腹にも提供している"RSS Feed Generator"
目当てのランキングを取り出すためのインターフェイスをつくりました。
(RSS側の値が変更されると身も蓋もないことになるので今後なんとかしたい)
使ってもらうのはclass
以下の4つのファイルです。
RankingApi.h
RankingApi.m
RankingApiClient.h
RankingApiClient.m
RankingApiClient
はAFHTTPClient
のサブクラスとなっているので、こちらをそのまま利用する場合は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というクラス名は適切ではありませんでした。ランキングを取得した結果をオブジェクトとして取り出す用に使っています。