【Swift】RKNotificationHubを使ってみた

こんにちは、そるです。
先日、11月8日(火)に自分と同期のデザイナーで作成したiOSアプリ
「GPS鬼ごっこ」を無事にリリースすることができました!!
2人とも初めてで、いろいろな困難や戸惑いがありましたが、なかなかの仕上りに
なっていると思いますので、みなさんぜひダウンロードしてみてください! そこで本日は、アプリの中でも使用しているRKNotificationHubの使い方を書いていこうと思います!
公式ものはObjective-CだったのでSwift版です!  


公式を見たい方はこちら↓(アニメーションなどが視覚的に理解できるので、1度見てみましょう!)  
https://github.com/cwRichardKim/RKNotificationHub  

インストール

何はともあれ、まずはインストール!
自分は、Cocoapodsで管理しているので、管理しているプロジェクトのpodfileに以下を入力する  

コード全体

そしてインストールしたら、プロジェクトを開いて、使用したいViewControllerで書き込んでいくのですが、
一回コードを全文記載して、その後詳細を説明していこうと思います!  

使い方

まずは、RKNotificationHubをインポートします。
その後、RKNotificationHubのインスタンスとバッジをつけたいボタンの宣言をしています。 宣言をしたら、自分の使いたい様にバッジをカスタムしていきます!
ここが一番楽しいときです(笑) ここでは、viewDidLoadでバッジを表示させるhubの初期設定をしています。
setViewで表示させたいViewとバッジの初期値の設定
setCircleColorで背景色と文字色の設定をしています。
試したことが、ないのですが、フォントも変えられるようです! また、hogeボタンを押したときにもメソッドを宣言しています!
hub.decrementでバッジの数を減らし、popするアニメーションを指定しいます。
更にhubのCountが0になったらボタンを使えなくしてみました!  

さらにさらに、

ざっくりと簡単な使い方を書いたのですが、他にも詳細な設定をすることが出来ます!  

調整メソッド

Countの変更

バッジのアニメーション

  こんな感じで、自分が使いたいようにカスタムすることが出来ます!
Xcodeのデフォルトでは、TabBarItemにしかバッジを表示することができなかったので、
すごく良かったです! ライブラリは、導入しても使い方を理解するまでが大変で、構造を理解しないと後々大変になることが大半なのですが、 このライブラリはシンプルで使いやすく、かっこいいバッジを設置することが出来たので良かったです!
よかったら、使ってみてはいかがですか?  

おしまい

【Swift】アプリを終了された時の、Firebseでの対処

こんにちは、そるです!
今、私はFirebaseを使ってスマホアプリを開発しているのですが、 自分がつまったことを書いていこうと思います。   複数人と通信をしながらゲームをするアプリを作成してるのですが、 ゲームを作ったホストの接続が切れたりした時に
Firebase内のデータを削除したかったのですが、全く削除されない。。。   appDelegateのapplicationWillTerminate上でデータの削除をさせる記述をしても、 削除される前にアプリが終了してしまい、なすすべがありませんでした。 やむを得なくタスクを切られた時のデータをデバイス上に保存して、 次回起動された時にデータの削除をするといった苦肉の策を行おうとしていました。   いやいや、そんなことはないと思いネットで調べたのですが、出てこず、、、、
これはマジでないのかも!?と思い始めていましたが、天下のGoogleさんが買収したFirebaseに タスクが切られた時の対処がなされていないなんてありえない!!と思い頑張ってリファレンスを読みました!   そしたら、ありました!!

connectedRefはFirebaseとの接続状況を判断しているらしく、型はBool
オブザーバーイベントタイプで接続が確認されたら、.onDisconnectRemoveValue()を設置するっぽい。
で、接続が切れたと同時に、設置していた処理を実行してくれるらしい!   結果、タスクを切られた時にFirebsaeのデータを削除してくれたのはいいんですけど、
このコードを読まれた瞬間にonDisconnectRemoveValue()を設置してしまうので、
その後の、何かの条件分岐をさせたい時どうすればいいか、また悩んでいます。。。(笑) けど、とりあえずできてよかったです!
以上です!

Firebaseを使ってみての感想

こんばんは、1年目エンジニアの「そる」です! 新卒で入社してから半年が経ち、微力ではあるんですけど、力がついてきたので ブログで知識を出力しようかと!(大した事は、言えないんですけどね、、、) 1年目エンジニアらしい内容になりますが、ご容赦ください orz   今日は「Firebase」に関してです! FirebaseはmBaasと言われる、モバイル特化のバックエンドサービスなんですが、これがとっても便利!! アプリを作成するにあたっての機能をほぼすべて提供しているので、自前のサーバーなどを構築する必要が まったくない!アプリ自体に開発に全身全霊を注ぐことが可能になりました!!!! いやー、ありがたい!初心者にとって優しいね(笑) 自分が、アプリを作ることになったと同時に「Parse」がサービス終了をアナウンス。 うわー、使おうとしていたのにタイミング良すぎ!と嘆いていた最中だったので、逆にタイミング良かったです!   現在他にもmBaasと呼ばれるサービスはいくつか存在します。その中でも、自分がFirebaseを選んだ訳ですが、 実際に使ってみて、Firebaseを選んでよかったと思いますね!Googleもこれから力を入れていくと考えられるので、 そこにも期待が持てますね! 正直、Firebaseの新しいロゴ、結構好きです。前のは完全にDBですよね。   次回、ブログを書くときはFirebaseの導入、使い方を投稿できたらと思います!(言語はSwiftです。) つれづれなるままに書いていたので、まとまりませんが、今日はこれで! もうちょっと、文章力つけます、そるでした!!