tech::hexagram

personal note for technical issue.

iPhoneアプリを初めて作った時に導入したツールやライブラリまとめ

プライベートではじめてiPhoneアプリを作りました。自分が必要だったもので作っててとても楽しかったです。
リリースするまでに色々なツールやライブラリを初めて導入したので、利用方法についてまとめておこうと思います。
また、ハマった点もまとめておきますので困ったら参考にしてみてください。

ちなみに作ったアプリはSud+電卓 on the App Store on iTunesです。
beatmania iidx(音ゲー)用のツールアプリなので、やる方は是非どうぞ。

サーバーサイド

API作成

今回、アーケードの全曲リストを取得する必要があったため、WebサイトのデータをスクレイピングしてJSONにしてAPI化する必要がありました。Ruby on Railsを初めて触りながらの実装でした。
APIの作成に特化したRuby製フレームワーク grape を試してみた | dakatsuka's blog

こちらの紹介記事にある通り、RubyAPIの作成をするならgrapeというフレームワークが使い勝手がよくオススメです。

  • バージョニング管理
  • エンドポイントの指定方法
  • GET, POST, DELETEなどの各リクエストに対するレスポンスの記述方法

このあたりを非常に簡単に記述でき、利用しやすいフレームワークでした。

スクレイピング

Webサイトのスクレイピングにはnokogiriというフレームワークを利用しました。
Nokogiri を使った Rubyスクレイピング [初心者向けチュートリアル] - 酒と泪とRubyとRailsと

jQueryのように、domの取得はメソッドチェーンを利用することができるようです。

例えば、テーブル内の特定のtdタグのinner_textが必要な場合、以下のように書くことで取得できます。

doc = Nokogiri::HTML.parse(html, nil, DEFAULT_ENCODING)
tr = doc.search('tr')
text = tr.search('td[@class="hoge"]').inner_text

クライアントサイド

UIツール

サーバーサイドから取得したデータを使ってゴニョゴニョするときに、Loading中のグルグルを表示させたい時があると思います。そういった時にSVProgressHUDを使いました。
非常に手軽にかつクールなInterfaceを作ることが出来ます。

ios SVProgressHUDをつかって超絶簡単にローディング表示する - 恥知らずのウェブエンジニア

クラッシュレポート

クラッシュレポートを手軽に受け取れるようにCrashlyticsを入れてみました。UIが非常にクールで、クラッシュした瞬間にレポートメールが届くのでオススメです。

iOS アプリのための Crashlytics | moonxseed

基本的にはこちらに書いてあるとおりに進めていけばOKです。

ハマったことはこちらのQiitaの記事に書きました。
Xcode - Crashlyticsを初めて導入した時にハマったことまとめ - Qiita


Google Analytics

クリックイベントや画面のPV数などを測定したいときに便利なおなじみGoogle Analyticsです。

Google Analytics SDK for iOS v3 - Getting Started - Google Analytics — Google Developers

公式リファレンスの解説が丁寧なのでオススメです。

広告

iAD

手軽に収益を得られるiADをせっかくなので入れてみました。
開発中はiAD BannerViewのパーツをxibに追加するだけで、表示されているかのように見えるので注意が必要です。初回リリース時にはdelegateの設定を忘れていて本リリース後広告が配信されず、真っ白の枠が出たままとなってしまいました。(これは本来であればリジェクトされるはずなのに、なぜ通ったんだろう…)

【実装方法】

自分は今回前者で実装しましたが、次回以降アプリを作るときは後者も試してみたいです。

【申請時の注意事項】

nend

どの広告を入れると収益が上がりやすいか検証するため、iAD以外でも広告を入れました。
nend.net(ネンド)スマートフォン広告で日本最大級の運用型アドネットワーク(スマホweb広告/アプリ広告/アイコン広告対応)

サイトから提供されているドキュメント通りに実装していけば広告の掲載を簡単に行うことが出来ます。

おまけ

AppStoreへの申請

よく分かる!iOS アプリのリリース手順のまとめ | Developers.IO

こちらのページが非常に丁寧でわかりやすく、手順に沿って行けばほぼ躓くことはないと思います。

ただ入力項目が非常に多いので、以下のものを事前に準備しておくとスムーズに申請を進めることができるのでオススメです。

  • Description: アプリの紹介文です。
  • Keyword: AppStoreで検索をかけた時にここで登録したキーワードで引っかけると検索にヒットするような仕組みです。SEOを考慮しながら埋めていくとDL数が伸びるでしょう。
  • Support URL: サポート用のURLが必要なので何かしら用意しておく必要があります。なにもない場合はTwitterアカウントあたりを新設しておくと良いかもしれないです。
  • 3.5インチ用と4インチ用のスクリーンショット数枚。アプリの使い勝手や良さが一目で分かるように説明を入れておくと良いでしょう。Macなら「プレビュー」があれば簡単にできます。