アプリ開発中に起こったお粗末な出来事
今、iOSアプリを開発しているんだけど、とてつもなくがっくり&愚かな出来事があって、恥ずかしいけど、戒めの意味を込めて記録しておく。
このアプリ2年前(2014年の夏頃)から開発し始めて、毎年「アプリをリリースする!」みたいに目標立ててるにも関わらず、未だにリリースできていないという、曰く付きのアプリ。曰く付きといっても単純に私がサボってるだけなんだけど。
それでも出産直前までは、ゆるゆると開発してた。基本機能は8割ほど完成してて、後は最終調整とバグつぶしだなぁってところで、4月に子どもが産まれる。さらに仕事も早々に再開しちゃったもんだから、育児+家事+仕事でいっぱいになって完全放置してた。
でも最近、子ども大きくなってきて夜は手が離せるようになってきたから、またアプリ開発を再開しようとして過去のソース眺めた。8ヶ月ぶりに。
ところが、すっかりちんぷんかんぷん。やばい。そして、当初はObjective-C + CoreData ベースで開発してたけど、現在の主流はSwiftに変わりつつある。どうせObjective-cも忘れてちゃってるから、Swiftで作りなおそうとinitial commitしたのが1月21日。
触ってると徐々に思い出してくる…と同時に、IT技術の世界って、たった1年半離れてただけで、浦島太郎になってしまうんだということ実感。
- 当時、数カ月分の縦スクロールするカレンダーのライブラリをベースに、エンドレスでカレンダーがスクロールしていく処理とか必死こいて作ったけど、すでにそんな風に動くアップデート版がcocoa podsに存在して愕然。
- iOS7あたりでTableViewのUIに追加されてた、ヘッダーがセクション内で固定されるみたいな動きが、当時、collectionViewにはなくて、それも自作してた。navigationBarのエリアの判定がめちゃめんどうで、すごい苦労した覚えがあるのに、現在は標準のUIKitに組み込まれてる!
- FMDB(CoreDataベース)がイケイケだと思ってたのに、Realmってのがやってきてる
- Swiftがすごい便利
とまぁ、そんな感じ(伝わんないかもしれないけど、いいや)。
設計で気をつけるべきところの勘所も完全に忘れてるので、うーん。うーん。って唸りながらの開発なんだけど、前よりいろいろ便利になってるので基本楽しい。
で、少し視野がせまくなってたのかもしれん。
今日、カレンダーの日付用のcellの表示部分をカスタマイズしてたんだけど、ふとシミュレーターを見ていて違和感に気づいた。
なんで、このカレンダー右から左への順番なんだ?
私の計算式がまずいのかしら? 日付の取得がおかしいかしら? printでログ出すけど、おかしいところないよな…。 weekdayの定義がまちがってんのかな。 いやいやこれ、itemの並び順がそもそも右から左になってない? 今回のcellのカスタマイズで順番の設定なんかへんな事してる? いやしてないよな。 紐付けてるStoryboardの設定か? うーーーん。
とか相当悩んだ。というか2時間くらい悩んだ。アホみたいに悩んだ。
で、「ちょっと待てよ。これって、今回の修正で起こった事象かな?」って思って、前のコミットにチクチク戻って言った。
戻っても戻っても、依然として、カレンダーの表示は右から左。(いつまで戻ればいいの!)
そしたら、なんと、1/24のコミットで変なことしてる。
super.init(direction: RSDFDatePickerCollectionViewLayoutDirection.RightToLeft)
スーパークラス読み込む時になんか右から左って並び順変えちゃってる!!!
あれ?…1月24日ってことはなんだ?え、まさか2週間近くも、カレンダーが右から左に流れている状態なのに気付かずに開発してたってこと?
え。馬鹿なの?私。
というお恥ずかしい話でした。悩んだ2時間が虚しい。
あ、ちなみに、何を開発しているのかっていうと、基礎体温を記録するだけのアプリを作ってます。 しかも、PMSチェックでも生理予定日チェックでもない。妊活目的で基礎体温を継続的に記録したい人のためのアプリです。 つまり、一回アプリ開発が頓挫したのは、妊娠しちゃったから基礎体温を測る必要なくなっちゃって(笑 でも、今年の夏には二人目を考えてるので、それまでに頑張ってつくるぞい!