今回、マイコミの「実践! iPhoneアプリ開発」の記事を参考にiPhoneからアメブロサーバーにRSSデータ要求してみます。
![$テン・シー・シー-1](https://stat.ameba.jp/user_images/20090913/12/xcc/1d/4f/j/o0387019310252592688.jpg?caw=800)
wiki:RSS
なのでCFNetwork使いません。
かわりにNSURLConnection使います。
RSSデータ?な人は、SafariならツールバーのURL入力ボックスの左側に出てるRSSてボタンをクリックしてみましょう。
![$テン・シー・シー-2](https://stat.ameba.jp/user_images/20090913/12/xcc/a2/02/j/o0500019510252594087.jpg?caw=800)
こいつをクリックだ
iPhoneやWindows IEな人はブログ右下にある『XML RSS 1.0』か『XML RSS 2.0』をクリックね。ただしWindows IEはVersion 7以降でないと別アプリが必要になるみたいです。FireFoxは触ってないので不明。たぶんSafariと同じで簡単と思うんだけど...
![$テン・シー・シー-4](https://stat.ameba.jp/user_images/20090913/12/xcc/5f/64/j/o0500033210252602043.jpg?caw=800)
したら、こんな感じの画面がでたと思います。
![$テン・シー・シー-3](https://stat.ameba.jp/user_images/20090913/12/xcc/8b/40/j/o0500033210252595940.jpg?caw=800)
見たとおり、ブログの更新情報の配信データなわけです。
整形された状態は見てのとおりですが、送られてくる加工前のRSSデータを見てみようというのが今回のお題です。
そんなんSafariの表示>ソースを表示メニューで一発じゃないっすか?と思った人もいるんじゃないかと思いますが、実はそいつは既に加工済みのソースなんですな。
ま、とにもかくにもプロジェクト作成から。
ファイル>新規プロジェクトメニューで表示される新規プロジェクトダイアログでNavigation-based Applicationを選択。
![$テン・シー・シー-5](https://stat.ameba.jp/user_images/20090913/13/xcc/66/d4/j/o0500033210252610356.jpg?caw=800)
今回、別にWindow-Baseで十分なんですが、ちょっと後々の事考えてNavigation-basedです。
デスクトップにrssという名前で作成します。
![$テン・シー・シー-6](https://stat.ameba.jp/user_images/20090913/13/xcc/eb/17/j/o0469027910252611645.jpg?caw=800)
そのままビルドして実行させるとこんな感じ。
![$テン・シー・シー-7](https://stat.ameba.jp/user_images/20090913/13/xcc/1a/0f/j/o0500047210252612454.jpg?caw=800)
UITableView使ってますな。とりあえず、今回はこっちに用はありません。
終了して、まずはプロジェクトのrssAppDelegate.mに手を入れましょう。
applicationDidFinishLaunchingメソッドの変更と以下のconnectionというメソッドを追加します。
で、コンソールを表示させた状態(実行>コンソールメニュー)でビルドして実行!
なんかいっぱいコンソールに出ましたか~?
![$テン・シー・シー-8](https://stat.ameba.jp/user_images/20090913/13/xcc/a7/bb/j/o0500041610252614763.jpg?caw=800)
これがアメブロから返されるRSSデータ原文ちゅーわけです。
なんで、これが、こうなる?
![$テン・シー・シー-9](https://stat.ameba.jp/user_images/20090913/13/xcc/06/d2/j/o0412016510252616458.jpg?caw=800)
そこんとこ以下次回。
------------
サンプルプロジェクト:rss.zip
![$テン・シー・シー-1](https://stat.ameba.jp/user_images/20090913/12/xcc/1d/4f/j/o0387019310252592688.jpg?caw=800)
wiki:RSS
なのでCFNetwork使いません。
かわりにNSURLConnection使います。
RSSデータ?な人は、SafariならツールバーのURL入力ボックスの左側に出てるRSSてボタンをクリックしてみましょう。
![$テン・シー・シー-2](https://stat.ameba.jp/user_images/20090913/12/xcc/a2/02/j/o0500019510252594087.jpg?caw=800)
こいつをクリックだ
iPhoneやWindows IEな人はブログ右下にある『XML RSS 1.0』か『XML RSS 2.0』をクリックね。ただしWindows IEはVersion 7以降でないと別アプリが必要になるみたいです。FireFoxは触ってないので不明。たぶんSafariと同じで簡単と思うんだけど...
![$テン・シー・シー-4](https://stat.ameba.jp/user_images/20090913/12/xcc/5f/64/j/o0500033210252602043.jpg?caw=800)
したら、こんな感じの画面がでたと思います。
![$テン・シー・シー-3](https://stat.ameba.jp/user_images/20090913/12/xcc/8b/40/j/o0500033210252595940.jpg?caw=800)
見たとおり、ブログの更新情報の配信データなわけです。
整形された状態は見てのとおりですが、送られてくる加工前のRSSデータを見てみようというのが今回のお題です。
そんなんSafariの表示>ソースを表示メニューで一発じゃないっすか?と思った人もいるんじゃないかと思いますが、実はそいつは既に加工済みのソースなんですな。
ま、とにもかくにもプロジェクト作成から。
ファイル>新規プロジェクトメニューで表示される新規プロジェクトダイアログでNavigation-based Applicationを選択。
![$テン・シー・シー-5](https://stat.ameba.jp/user_images/20090913/13/xcc/66/d4/j/o0500033210252610356.jpg?caw=800)
今回、別にWindow-Baseで十分なんですが、ちょっと後々の事考えてNavigation-basedです。
デスクトップにrssという名前で作成します。
![$テン・シー・シー-6](https://stat.ameba.jp/user_images/20090913/13/xcc/eb/17/j/o0469027910252611645.jpg?caw=800)
そのままビルドして実行させるとこんな感じ。
![$テン・シー・シー-7](https://stat.ameba.jp/user_images/20090913/13/xcc/1a/0f/j/o0500047210252612454.jpg?caw=800)
UITableView使ってますな。とりあえず、今回はこっちに用はありません。
終了して、まずはプロジェクトのrssAppDelegate.mに手を入れましょう。
applicationDidFinishLaunchingメソッドの変更と以下のconnectionというメソッドを追加します。
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
// URLを指定する
NSURLRequest* request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://rssblog.ameba.jp/xcc/rss20.xml"]];
// URLコネクションを作る
[NSURLConnection connectionWithRequest:request delegate:self];
}
- (void)connection:(NSURLConnection*)connection
didReceiveData:(NSData*)data
{
char* p = (char*)[data bytes];
int len = [data length];
while (len-- > 0) {
putchar(*p++);
}
}
で、コンソールを表示させた状態(実行>コンソールメニュー)でビルドして実行!
なんかいっぱいコンソールに出ましたか~?
![$テン・シー・シー-8](https://stat.ameba.jp/user_images/20090913/13/xcc/a7/bb/j/o0500041610252614763.jpg?caw=800)
これがアメブロから返されるRSSデータ原文ちゅーわけです。
なんで、これが、こうなる?
![$テン・シー・シー-9](https://stat.ameba.jp/user_images/20090913/13/xcc/06/d2/j/o0412016510252616458.jpg?caw=800)
そこんとこ以下次回。
------------
サンプルプロジェクト:rss.zip