「しふと暦」の広告がついて機能が制限された無料版のアプリ「しふと暦Lite」がリリースされました!!
「しふと暦」との違いは
・広告がついています。
・予定の追加・変更・削除ができません。
です。
あとは基本的に「しふと暦」と同じです。
よろしくお願いします!!
「しふと暦」1.2 がリリースされました。
変更点は
・ツールバーを隠す設定を追加
・バグフィックス
です。
アップロードからリリースまでが早かったです。いつもなら審査に1週間ぐらいかかりますが、3日間しかかかってないです。ただいつもなら「in Review」から5分くらいで「Ready for Sale」になるのに今回は4時間もかかってリジェクトになったかなーとドキドキでした。
変更点は
・ツールバーを隠す設定を追加
・バグフィックス
です。
アップロードからリリースまでが早かったです。いつもなら審査に1週間ぐらいかかりますが、3日間しかかかってないです。ただいつもなら「in Review」から5分くらいで「Ready for Sale」になるのに今回は4時間もかかってリジェクトになったかなーとドキドキでした。
本日「しふと暦」1.2をアップロードしました。変更点は「ツールバーを隠せる設定を追加」です。リリースされ次第また報告したいと思います。
今回のアップデートはもっと早く提出できる予定でしたが、ハマってしまって遅くなってしまいました。まだまだ勉強が足りないです。
次回は「しふと暦」の広告付き無料版をリリース予定です。
今回のアップデートはもっと早く提出できる予定でしたが、ハマってしまって遅くなってしまいました。まだまだ勉強が足りないです。
次回は「しふと暦」の広告付き無料版をリリース予定です。
先日の記事でアニメーションするボタンを追加し、あれから実機でいろいろテストしてた。順調かなーと思ってたが、バグが!!
「しふと暦」を起動したあとホームボタンでバックグランドに移行
↓
いろんなアプリを起動してある程度メモリを消費
↓
「しふと暦」をまた起動(フォアグランド)すると
なぜか矢印が重なって表示される・・・。
メモリ消費したあとだからボタンを貼付けているViewControllerの「didReceiveMemoryWarning」や「viewDidUnload」が呼ばれて、再表示とともに「loadView」がまた呼ばれたのかなと思い、「didReceiveMemoryWarning」にボタンのリリース処理を書いてもダメ。「loadView」でボタンを貼付ける前にボタンのリリース処理をかいてもダメ。(そもそもiOS6では「viewDidUnload」が呼ばれないので「loadView」も呼ばれない、らしい。)その他にもUIViewControllerのライフサイクルを調べてViewControllerでいろいろやってみたがダメだった。
ハマったなーと思い何気にViewControllerとボタンのデリケードにLogを入れてみてみたら、「あれ、フォアグランドに戻ってからはボタンのdrawRectしか呼ばれてない・・・」!!てっきりメモリ関連のことなので原因はViewControllerにあると思ってたけどボタンのほうだった。
そのあとは矢印レイヤーを貼付ける前に「self.layer.sublayers = nil;」の処理でサブレイヤーを初期化したら問題は解決した。たったこの一行で・・・。
ハマるってこわい。
「しふと暦」はカレンダー画面で下部にツールバーを常に表示していた。でもツールバーがある分、予定を表示しているスペースが狭くなっていた。そこで今回はツールバーの表示/非表示を切り替えるボタンを追加してみた。もちろん今まで通り常に表示することもできるようにしていて、設定で切り替える事ができる。
そこでこの「ボタン」だが、押すごとに矢印が上向き・下向きとアニメーションするようにしたいと思い調べた。以下は調べた時のメモ。
これで「ボタン」も実装できた。
そこでこの「ボタン」だが、押すごとに矢印が上向き・下向きとアニメーションするようにしたいと思い調べた。以下は調べた時のメモ。
- 「UIControl」から継承したサブクラスにする。
- 「drawRect」メソッドでボタンの外観を描画。
- 今回は矢印だけをアニメーションさせたいので矢印はレイヤーに描画し、親のレイヤーに追加。(CGContextに描画だとボタン全体がアニメーションする)
- 矢印のレイヤーを指定するため「setValue:forKey:」を設定しておく。(「CaLayer」には「tag」のプロパティがないため。)
- ボタンが押された時は「endTrackingWithTouch:withEvent:」が呼ばれるので、そこで矢印のレイヤーを回転する。(回転するコードを書くと簡易アニメーションする)
これで「ボタン」も実装できた。