今日は 20% ルールっぽい感じで、通常業務以外のやりたいことやる日でした。
天気を取得して何やらやるアプリを作ろうとしました。
経緯
Hipchat のログ
[13:57] Ryohey Kameyama: 今日は Swift アプリ一本勝負することになりました
[14:22] Ryohey Kameyama: 今の自分のいる位置の天気・気温と同じ場所の一覧を表示するアプリ作る
目標
今の自分のいる位置の天気・気温を取得して、世界中の同じ天気・気温の場所を写真付きで表示する
できたこと
https://github.com/covelline/Atmosphere/
- CoreLocation で現在位置を取得
- Alamofire で OpenWeatherMap の API を叩く
- 現在地の天気情報と、100 都市の天気情報を取得
- 天気情報の都市名を UITableView に表示
できなかったこと
- 天気、気温から検索できるサービスを見つけられなかった (100 件まで一括で取得できたので、代わりに 100 都市分取得するようにした)
- せっかくなら有名な 100 都市にしたかったけど超面倒だったのでエクセルでランダムに選んだ
- 場所を現在地の天気・気温でフィルタリング
- セルに天気や気温、場所の写真を表示
感想
全然間に合いませんでした。謎の都市一覧アプリになった。
ほとんどの時間を API 探しに使ってしまったので、もうちょっと見た目のモックとか作れたらよかったなと思いました。
あと iOS8 で CoreLocation を使って位置情報を取得するのに、許可のアラートが出てこなくて解決するのに時間がかかりました。
これかよ!! "info.plistに、2つのKEYを設定する必要" | Objective-C - iOS8 CoreLocation on @Qiita http://t.co/PCZHxGJYEt
— ryohey (@ryoheyc) 2014, 10月 15
Swift は数カ月前に playground で触っただけだったので、何をやるにも調べながらでしたが、思ったより書きやすかったです。