iOSアプリ「スタバで呪文」の中身について
個人的にアプリをリリースしました。
iOSアプリ「スタバで呪文」
1日もかからずに、フードカテゴリ有料ランキング1位をとることが出来ました。
皆さん、ありがとうございます。
こっちの個人ブログでは、技術よりの話を書いていこうと思います。
今回、初めてIBやStoryboardを使って開発をしたので、素人感丸出しの作りになっているかも知れないのですが、公開します。
画面構成(Storyboard)
少し見づらいかもしれませんが。。。
TabBarControllerに3つのNavigationControllerがセットされていて、最終的には共通のViewControllerに遷移する流れになっています。
たまにトリッキー?な遷移もありまして、ハッシュタグから画像を取得出来た場合、その画像をタップすると、その人のTweetをWebViewで表示することが出来ます。
また、通知から起動した場合は、3つのNavigationControllerの末端であるカスタム画面をいきなり起動する仕様なっています。
その時のコードがこちら
ViewControllerのIdentifierを指定して起動。
最初のViewControllerでフラグ判定を行い、次の画面に遷移させています。
- (void)viewWillAppear:(BOOL)animated { SCOAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; if (appDelegate.notified == 1) { //segueを使って遷移させる [self performSegueWithIdentifier:LC_SEGUE_ID_ORDER sender:self]; } }
iOS7の新機能について
今回、スタバで呪文はDeployment TargetをiOS7にしました。
Deployment Targetとは、アプリが動作する最低のOSバージョンのことです。
Deployment TargetをiOS7にした理由は、iOS7の機能に特化したかったからです。
そこで、今回はスタバで呪文で使っているiOS7の機能の実装方法について紹介したいと思います。
UIKit Dynamics
この動きが表現出来ます。
こんな風に、ボタンをタップすると崩れてしまうUIが簡単に作れちゃいます。
コードはこんな感じ
ようは、
タップしたら、決定ボタン、カスタムボタン、広告以外のview
つまり、self.view.subviewをアニメーション登録して、特性を加えたら、いい感じになった!
ということです。
とりあえず、試してみたいなと思って入れてみました。
参考資料
Speech Synthesis
こっちはしゃべります。
このアプリの肝である、呪文の読み上げ機能です。
タップすると、呪文の読み上げが再生されます。
コードはこんな感じ
読み上げの設定を設定するだけで簡単に読み上げてくれる。
Delegateも沢山あったけど、このアプリだと細かい制御もいらないので、超簡単に実装してしまった。
一番大変で、時間をかけたのが、
気持ち悪い声にするためのチューニング
でした
力の入れどころ間違えてるな。。。
もう少しなにか出来そうな予感。
参考
AVSpeechSynthesizer による音声読み上げ
今回はこんな感じで!初ブログでした!