たかもブログ

お酒、スマホゲーム開発、Web制作のことなど好きなことを何でも書いています。事実のみすべて主観です。

カジュアルババアゲーム「エレベーターババア!」が最上階でクラッシュするバグを修正しました。

先日iPhoneアプリをリリースした「エレベーターババア!」ですがiOS8以上で最上階に達した時にクラッシュし、次のババアが出てこないというバグがありました。

リリースモードでテストした時は問題なかったのですが、AppStoreで配布したもののみクラッシュしておりました。ダウンロードしてくださった方、レビューをしてくださったサイトの方々に深くお詫び申し上げます。ごめんなさい。

レビューしてくださったサイト

新作iPhone/Androidアプリをテキトーに紹介!ぐるりんクエスト/錬金術はじめましたほか4本!(1/28) - あぷまがどっとねっと

エレベーターババア!|階段使えや! ~走ってエレベーターに乗ってくるおばさんを、閉じるボタン連打で阻止しよう!~ | アプリ | AppLibrary

エレベーターババア!|階段使えや!|アクション|アプリ紹介|iPhoroid|iPhone&Androidゲームアプリの攻略サイト

※自分で調べた限りなので、他にも掲載してくださったサイト様がありましたらお詫び申し上げます。

 

本日緊急アップデートでAppStore配布し、正常に動作することを確認しております。

もう一度遊んでいただけると幸いです。

クラッシュの原因

さて、クラッシュの原因について書いてみます。
最初はいくら実機転送で確認しても再現せず苦戦したのですが、クラッシュログをみてなんとなく分かりました。

エレベーターの上下にUIViewをbeginAnimationsで動かすということをしており、これを入れ子、つまりアニメーションが終了したら次の関数を呼んで、そこでまたアニメーションを実行ということをやっていました。
そこで、最上階に到着した際にはmodalViewControllerでクリア画面に遷移していたのですが、ここでクラッシュしていました。

色々調べるとメモリリークとかが原因だそうなので、タイマーでアニメーション処理を作って対応しました。

日曜アプリプログラマーにはまだまだ作ってみないと分からないことだらけです。