iPhoneアプリを初めて作った時に導入したツールやライブラリまとめ
プライベートではじめてiPhoneアプリを作りました。自分が必要だったもので作っててとても楽しかったです。
リリースするまでに色々なツールやライブラリを初めて導入したので、利用方法についてまとめておこうと思います。
また、ハマった点もまとめておきますので困ったら参考にしてみてください。
ちなみに作ったアプリはSud+電卓 on the App Store on iTunesです。
beatmania iidx(音ゲー)用のツールアプリなので、やる方は是非どうぞ。
サーバーサイド
API作成
今回、アーケードの全曲リストを取得する必要があったため、WebサイトのデータをスクレイピングしてJSONにしてAPI化する必要がありました。Ruby on Railsを初めて触りながらの実装でした。
APIの作成に特化したRuby製フレームワーク grape を試してみた | dakatsuka's blog
こちらの紹介記事にある通り、RubyでAPIの作成をするなら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を作ることが出来ます。
クラッシュレポート
クラッシュレポートを手軽に受け取れるように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
こちらのページが非常に丁寧でわかりやすく、手順に沿って行けばほぼ躓くことはないと思います。
ただ入力項目が非常に多いので、以下のものを事前に準備しておくとスムーズに申請を進めることができるのでオススメです。