Create a gist now

Instantly share code, notes, and snippets.

Embed
「iOSアプリを作りたいと思っているあなたへ、30分でアプリをつくろうと思いましたが、1日かかりました」#vgadgent2013

iOSアプリを作りたいと思っているあなたへ、30分で作れそうなアプリを考えてみる。 このタイトルは嘘になってしまったみたいです。本当は ##iOSアプリを作りたいと思っているあなたへ、30分でアプリをつくろうと思いましたが、1日かかりました

この記事はVOYAGE GROUP エンジニアブログ : Advent Calendar 2013の18日目の記事になります。

皆さんGistでこんにちは! @jet_mmmです、通称ガイアです。

Macを持ってる誰しもが、iosアプリ作りたいなと思ったことは1度でもあるのでは無いでしょうか? そこで、今回は30分で作れそうなアプリを考えてみようと思います。

##1. 準備するもの ・Xcode → App Storeから ・AppleDeveloperProgram(ios) → ググりましょう ・アイデア

この中で一番むずかしいのはやはりアイデアです。
30分で作れそうなアプリという縛りを持って考えてみましょう。

思わずWeb APIを使った「何か」を作りたくなる★Web API紹介

APiを眺めながら考えるのも良さそうです。

準備ができたら次に行きます。

##2. 削ぎ落とす 次に考えたそのアイデアを尖らせましょう。
僕が考えたのはInstagramのAPIを使った位置情報での写真取得サービスです。
これだけで、地図に表示される写真、特殊な動作で過去の写真を見れるなど、沢山のことが思いつきますね。
色々なことがおもいつきますね。ただ、色々出来てもしょうがないので、そぎ落としましょう。

###そのアプリは何を解決するの? 何を解決するの?どんなシチュエーションで使うの?と考えてみましょう。
→僕は写真が取りたいときにベストなロケーションが探せるアプリをつくることにします。

###その問題を解決するためには何があればいい?(時間は30分しか無い、1機能に絞るならなんだろう?) 位置情報で写真が探せる

少しソリッドになりましたね。
さて、仕様らしきものを書きだします。

  • 画面1. Searchボタンを押すと現在位置を取得してInstagramの位置情報検索APIを叩きに行く
  • 画面2. 取得したjsonをパースしてリストをつくる
  • 画面3. リストをクリックしたら大きい画面で写真が見れる

まるでサンプル・アプリケーションのようなシンプルさです。 けれど、解決する問題があるので、アプリとして機能しうるでしょう。(多分)

さて、InstagramのAPIについて調べてみます。

iOSのInstagramAPIがあるようなので、使わせていただきたいと思います。 https://github.com/crino/instagram-ios-sdk

やはりAPIを叩く時は認証が必要なようです。仕様の変更です。 Instagram Developer Docmentation

  • 画面1 認証がまだの場合は認証を行う。認証していない場合はSearchボタンが無効状態。    Searchボタンを押すと現在位置を取得してInstagramの位置情報検索APIを叩く

・・・仕様にログインも入って来ました。

さらに位置情報で写真を取得する方法を調べます。 以下の2つのAPIを利用すれば写真が取得できそうです。

  • /locations/search  latitude longitude からlocation-idを取得
  • /locations/location-id location-idから写真を取得する

ここまで調査して、おそらく30分でつくるのは無理だとひしひしと感じます。 しかしながら、とりあえず、動くものを作り上げるまでに1日もかからないでしょう。(多分)

3. コードを書く

Xcodeでコードを書いていきます。タイムアタックですね。




いやー、軽く見て3時間はかかりましたね。
再調査、再設計していたので、実際に書いている時間は短かったかもしれないですが、
それにしてもかかりました。

ここで宣言します。 このタイトルは嘘でした!ごめんなさい。 ###iOSアプリを作りたいと思っているあなたへ、30分でアプリをつくろうと思っていましたが、1日かかりました。 へ変更

まあこんなものでしょう、とりあえず動く所まで来ました。 結構複雑なコードになってしまい、もっと簡単なアプリにすればよかったと後悔しています。 とりあえず、この状態のコードをGithubで公開します。 コードの詳細はそちらで、 https://github.com/Gaia-Murata/geopic/tree/master/GeoPic_nonAppID/GeoPic

次はこのアプリをサブミットしていきたいと思います。

VOYAGE GROUP エンジニアブログ : Advent Calendar僕の次は@at_grandpaです。
僕の同期のおじいちゃんキャラなあの人が華麗に決めてくれます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment