アプリのアップデートに関する問題
駅.Lockyと時刻表.Lockyのアップデートが公開されましたが、iOS4での動作について、いくつかの問題が報告されていますので、現在確認している問題についてお知らせします。この問題は次期アップデートを早めに提出して対応したいと思います。
アプリを終了させても状態が保存されず、毎度初回起動状態になる
iOS4ではFast App Switchingの機能により、ホーム画面に戻ってもアプリが終了しないままになります。その代わり、ホームボタンをダブルクリックしてアプリ切替画面を表示し、そこでアイコンを長押しして表示されるマイナスボタンを押すことで、アプリを完全に終了させることができます。
しかし、このマイナスボタンによる終了は、一般のOSで言うところの「強制終了」になりますので、アプリ側の終了時イベントが呼び出されずに終了してしまいます。
このため、今まで駅.Lockyではアプリ終了時に状態を保存する処理を行っていたのですが、マイナスボタンによる終了ではこれが呼び出されないために状態が保存されなかったようです。
状態が保存されないと、起動の度に初回起動時と同じ動作をしますので、利用情報の送信などの確認ダイアログが毎度表示されてしまいます。
(バックグラウンドに移行した状態で長時間が経過した場合には、通常の終了処理が呼び出されて終了するはずなのですが、これも実際には上手く動作していない模様です)
次期アップデートでは、ホーム画面へ戻ったり他のアプリに切り替えられた際に、毎度状態保存処理が実行されるように修正したいと思います。
アプリ切替時に現在地の時刻表が表示されない
これはバグではなく、現状での仕様なのですが、Fast App Swtitchingによってアプリの「起動」というプロセスが無くなってしまうため、今まで使えていた、「アプリ起動時に現在地の時刻表を表示する」機能が実質利用できなくなっています。
この問題は私も把握していたのですが、以下の理由により、とりあえずは元の状態に戻るという仕様で公開させて頂きました。
- アプリ復帰後、現在位置を取得するまでに数秒間かかり、取得まで待つようにするとアプリの高速切替のメリットが損なわれてしまうため
- 一般的にiOS4のアプリ切り替えは「以前の状態にそのまま復帰する」ものであり、この原則と違う動作をさせるとユーザを混乱させる恐れがあると考えたため
私としては、アプリ切り替えにて元の状態に復帰するという動作を変えたくはないと思いますので、次期バージョンでは、アプリ起動中に現在地の時刻表を素早く表示するための機能を追加しようと考えています。
具体的には、文字入力を戻す時などに使う「シェイク」ジェスチャー(iPhoneを振るジェスチャー)をカウントダウン画面で行った場合に、現在地の時刻表に戻るという機能の実装を考えています。
駅.Lockyで、マイリスト・履歴をリセットしようとすると落ちる
これはバグなので、次期アップデートで修正します。
時刻表.Lockyの路線情報に関する問題
アプリ側で時刻表を更新しようとすると、ダウンロードしていない場所の時刻表が表示される
この問題は、路線の名前を変更すると、その路線名に対応付けられている路線コード(7桁程度の数字)も変更されてしまう事が原因で発生しています。
路線コードには割り当てられる範囲が限られているため(1会社につき999路線まで)、変更・削除によって利用されなくなった路線コードがあった場合、その後で新しく登録された別名の路線にはそれと同じ番号が再割当てされる事があります。
このため、アプリ側で削除される前の路線情報を持っていた場合、「更新のチェック」を開くと書き換えられた新しい路線情報が表示されてしまうことになります。
この問題を解決するには、
- 一度変更・削除された路線コードを再利用するまでの期間がなるべく長くなるようにする。もしくは二度と利用されないようにする
- 路線情報が変更された場合は変更前の変更後の路線コードを保持するようにしておき、変更前の情報から変更後の情報へ誘導できるようにする。
- 初めから同じバス会社や路線の表記がバラつかないような対策をする
などの対策を行う必要があると思います。
(1)や(2)については、比較的簡単に実装ができますので、なるべく早めに対処したいと思います。
(3)については、先日の記事にも書かせていただきましたが、路線情報データベース構造の根本的な見直しも含めて今後考えていきたいと思います。
以上、不具合により色々とご迷惑をおかけして申し訳ありませんでした。
なるべく早く対応したいと思いますので,それまでお待ちいただきますよう、よろしくお願い致します。