先月、IIJがIIJmioクーポンスイッチAPIを公開しました。そのiOS用サンプルアプリをつくってみましたので、GitHubで公開します。
コードはReactiveCocoaで、MVVMを意識しつつ書いたので、ReactiveCocoa + MVVMの例になれば幸いです。
スクリーンショット
まずはスクリーンショットをいくつかお見せします。まずは、起動直後の画面です。クーポン利用のオン/オフを切り替えることができます。
hddサービスコードごとのクーポンの利用状況は円グラフで見ることができます。
電話番号ごとの日々のクーポン利用状況グラフを見ることもできます。見ためが積み上げっぽくないですが、積み上げ折れ線グラフです。
ストーリーボードはこんな感じ。SMSや規制中なども表示されるようになっています。
利用ライブラリ
- Underscore.m
- Mantle
- ReactiveCocoa
- AFNetworking-RACExtensions
- XYPieChart
- iOSPlot
- TWMessageBarManager
- libextobjcの一部 (EXTScope.{m,h}, metamacros.hのみ) (→ 実機向けのコンパイルでlibextobjcが利用しているlibffiが64bitに対応していなくてエラーになるため)
なお、OAuth2のImplicit Grantに対応しているライブラリでよさげなのが見つからなかったので自分で書きました。なので、OAuth周りのエラー対応はいいかげんです。
上記リスト中のライブラリのいくつかは、以前このブログで紹介していますので、次のまとめ記事もしくは本記事末尾の関連リンクを参照ください。
導入方法
あらかじめ、IIJmioクーポンスイッチAPIのディベロッパコンソールからディベロッパIDを取得する必要があります。
ディベロッパIDを取得後に、MioRestHelper.mにデベロッパIDとリダイレクトURIを設定の上、コンパイルしてください。
instance.clientID = @"取得したデベロッパID";
instance.redirectURI = @"リダイレクトURI";
問題点など
- テストを書いていない
- MantleはRestAPIHelperでは使うべきではなかったかも
- SIMカード内のクーポンは見ていない (10MBの誤差なので無視しています)
- セルにモデルを持たせたりと設計がおかしいところがある
関連リンク
- Safx: ReactiveCocoa関連リンクのまとめ
- MioDashboard - GitHub
- IIJmioクーポンスイッチAPI
- Safx: ファイルサイズなどを見やすく表示できるNSByteCountFormatter
- Safx: ReactiveCocoaはじめの一歩: 3分でできるReactiveCocoa
- Safx: モデルクラスとNSDictionaryとの相互変換を楽に行えるようにするライブラリMantleを試す
- Safx: libextobjcの@strongifyと@weakifyについて
- Safx: UIKit DynamicsとSocial.Frameworkを利用したサンプルアプリTweetBottleを公開しました
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。