2012年9月6日木曜日

SoundCloud APIをどんどん叩く

SoundCloud APIを叩いて二日経った。昨日問題だったところは取り敢えずクリアし、JSONのパースも難なくやっていたのだが、followingをUITableViewに表示したところで本来のfollowingと比べて少なすぎることに気づいた。followingを保持してあるNSArrayのcountを見てみると50。キリがいい数字だけに一度に返ってくる数が決まっているのではないかと調べるとやはりデフォルトでは一度に50までしか返らないようだ。(http://developers.soundcloud.com/docs/api/guide#pagination)

ここをよく見てみるとlimit(一度に返す最大)は200で、それ以降はoffset(前までにロードしたものの差し引きで読む)となるようだ。ということは、表の一番下まで見たら追加で読み込むようにするか、あるいは全て読み込むまでNSArrayに繰り返し入れ続けることになると思われる。ロードから表示の時間を考えると前者の方がまともな実装と言えるだろうし、一番下を引っ張るとさらにロードするようなカスタムUIが必要になりそうだ。

カスタムUIはCocoa Controlsで見つかりそうだ。とりあえず今日はここまでにする。

2012年9月5日水曜日

SoundCloud APIをiOSから触ってみる

プログラミングなんて大学の課題程度しかやらないし、それの出来も悪く理解も足らないため留年しているようなクソ情報工学学生だが、OS XやiOSにはそれなりの情熱があり特にiOS Appには前から興味があった。
iOS Appの本を初めて購入したのが高校を卒業した頃で、大学でコンピュータを学ぶことだし興味のある題材でプログラミングの勉強もしよう、位の意気込みではあったのだがiOSの変遷は早くあっという間に3.0(この頃はまだiPhone OSと呼ばれていた)→4.0→5.0と来てしまい、それに伴いXcodeもバージョンが上がり最早古い書籍ではXcodeの操作の違いのせいで学習もままならないといった具合である。
そんな感じで新しく本を買ったりなんだりしてたまに触ったり触らなかったりしていたのだが、ここに来てまた本腰を入れて開発でもやろうかと思った次第である。

今回はSoundCloudでdownloadableな楽曲をiPhoneのストレージに落とし、聴いたりコンピュータに取り出したりできるアプリを目標として進めることにした。
とりあえず https://github.com/soundcloud/CocoaSoundCloudAPI と http://developers.soundcloud.com/docs/api/ios-quickstart を参考に進めた。準備段階で少し手間取ったが、コーディングを始めてからは大変わかりやすく親切だなあと思いながら進めることができた。ポップアップしてくるログイン画面はもう作られているからサンプルの通りに書くだけで全く問題ないログイン画面が出せるし、APIを叩くためのメソッドのサンプルも十分そうに感じた。

しかしハマったのが http://developers.soundcloud.com/docs/api/reference#resolve によるURLの解決で、これがどうにもうまくいかない。サンプルコードの見よう見まねでメソッドを実装してみたのだが…。もう少し考える必要がありそうだ。