[iOS] フォルダやスイッチャーが荒ぶるバグが発生したので、原因と解決策を探してみる!

(12)

フォルダやスイッチャーを開くとアニメーションがおかしくなってしまうバグに遭遇しました。観ている分には面白いアニメーションの動きなのですが、使っていると邪魔という・・・

せっかくバグが発生したので、これの原因と解決策を探してみようと思います!

スポンサーリンク

こんなバグ

今回遭遇したバグはホーム画面でアイコンやフォルダ、アプリスイッチャーのアニメーションがおかしくなってしまう物です。以下が発生時に撮影した動画。(微妙に評判が良いのは何故なのか!)

リスプリングすると治る

このバグは多くの物と同じように、リスプリングすることで治る物でした。リスプリング後はいつも通り使用可能。

先に結論

先に結論を!
原因となっていた物は『Music Controls Pro』の『Task Controls』設定です。ここがDisableになっていると、このバグが発生しました。
解決策は簡単で、Disable以外に設定するだけ。これだけで私の環境では一切このバグが発生しなくなりました。

ということで、何の役に立つか分かりませんが、解決策を見つけるまでの課程をダラダラとどうぞ!

バグの再現をしてみる

リスプリングで治るとはいえ、いつまだ発生するか分からないので、原因と解決策を考えてみることにします。面白そうですし!

発生時に行っていた行動を思い出す

一番重要なのがココ。「バグが発生する直前に何をしていたのか?」です。

今回の場合、私はSafariを使用して調べ物をしていました。そのとき、動画を再生するために横画面で使用。更に、画面の回転ロックの操作を、横画面のまま操作を行いました。

バグを再現する

やっていたことを思い出したので、同じ作業を試してみます

  1. Safariを起動し、横画面にする。
    musiccontrolspro6-landscapemode-animation-bug-20130426-02
  2. その状態でアプリスイッチャーを呼び出し、画面回転をロック。
    musiccontrolspro6-landscapemode-animation-bug-20130426-03
  3. ホーム画面へ戻ると・・・バグが発生!
    musiccontrolspro6-landscapemode-animation-bug-20130426-04

ということで、今回の場合は横画面のまま画面回転ロックを行う操作を実行すると、バグが発生する。ということでした。また、Safariでなくとも、横画面になるアプリであればほぼ全てで発生。また、画面回転のロックはオンにしてもオフにしても発生。

ただし、今回の様にサクッと再現できてしまうバグはあまりないので、この点は注意が必要かもしれません。

バグの原因を探す

バグの再現ができたので、次は原因探しです。

セーフモードで確認する

バグが発生した時に、原因を確かめるため一番最初にやるべき事!セーフモードで確認します。
【脱獄環境で不具合が起きたときに出来る事1「まずは『セーフモード』にしてみよう!」】

セーフモード上ではMobileSubstrate系の脱獄アプリ(Tweakと呼ばれる多くの物)が動作していない状態になっているため、インストールして使っていたMobileSubstrate系の脱獄アプリに原因がある場合は、このセーフモード上ではバグが発生しないと言う事になります。(発生してしまう事もありますが・・・)

ということで、早速試してみます。
セーフモードに入る方法は、SBSettigns > Power > Safe Modeの手順で入れます。もしくは電源を切り、ボリューム上げボタンを押したまま起動することでも大丈夫です。

先ほどバグを再現できた手順通りに実行したところ、今回のバグをセーフモード上で再現することは出来ませんでした

と言う事は、MobileSubstrate系の脱獄アプリが原因の可能性が高いと言う事になります。

関係ある物を考える

バグの再現が出来て、更にセーフモードでは再現されない、という状況まで来てしまえば後は簡単です。

原因を探すために、今回のバグと関係がありそうな物を考えます。
バグを再現する手順で重要だったのは『横画面』、『アプリスイッチャー』、『画面回転ロック』です。
ということで、一番最初に思い浮かんだのが『Zephyr』。全てに当てはまります。
SBSettings > more > Mobile Substrate Addonsから「Zephyr」をオフにして、バグが再現されないかを確認してみたところ、残念ながらバグが発生。Zephyrは原因ではありませんでした。

続いて思いついたのが『Music Controls Pro』。これも横画面対応で、ロックも関係があり、しかもアプリスイッチャー上部にコントローラ表示が可能&ジェスチャー操作ができるのです。(便利なんですよ!?動画のバックグラウンド再生も出来るし!)
ということで、先ほどと同じようにSBSettingsの設定からMusic Controls Pro関連の『mchelper』、『mcremote』、『mcserver』をオフにして確認。

musiccontrolspro6-landscapemode-animation-bug-20130426-05

結果、バグが発生せず! ということで、原因は『Music Controls Pro』に決定!

解決策を考える

原因が『Music Controls Pro』であると言うことは分かりましたが、必須なので削除したくありません。解決策を探しましょう!

今回問題なのはアプリスイッチャーに関連する部分なハズです。ということで、Music Controls Proの『Task Switcher』設定から色々と変更してみました。
すると、バッチリ原因が判明。
Task Controls』設定を『Disable』にしているとバグが発生し、それ以外であれば発生しない事が分かりました。要するに、Disableにしなければ良いって事ですね。

musiccontrolspro6-landscapemode-animation-bug-20130426-06

どうしてもDisableにしなきゃダメ!という事でも無いので、とりあえずこれで解決と言うことで・・・!

コメント

  1. バグって感じがしないですね‥!

  2. バグの原因探しって良いですね

    僕の場合DashboardXによりウィジェットを表示させてると、ロック解除時にセーフモードに入ってしまいます。DashboardX以外のすべてのMobileSubstrate系の脱獄アプリを切ってみたのですが直らず・・・

    これは単純にDashboardX自体を使うことができないって事なんですかね?
    こういった報告はありますか?

    iphone4s、iOS5.1.1です。

    • 毎回起るのか、特定のウィジェットだけで起るのか、といった事にもよると思うのですが、基本的にDashboard XはiOS 6対応のアップデートがあってから不安定になる事がちょいちょいあるようです・・・

      • そうなんですねOrz

        ありがとうございます。もうちょっと頑張ってみます

  3. 先に結論の項目のDisable意外に設定するだけの「意外」って「以外」じゃないですか?

    • お恥ずかしい!
      修正させていただきました。お教えいただきありがとうございます!

  4. ウェブをiPhoneから見ると、強制的にモバイル用ページに移動してしまいますが、それをパソコン表示のままウェブが見られる脱獄アプリをどこかで見ました
    何なのか知っていますか?
    教えてください

    • サイト毎に仕様が違うため全てを完璧にと言う訳にはいかないのですが、User Agent Fakerなどを使うと良いかもしれません

  5. バグなのにJBアプリにありそうなアニメーションww

  6. 表示関係で悩んでいるのですが、スイッチャーが2画面目から表示されたり、1画面目の左から3個分アイコンのブランクができるようになりました。
    気にしない気にしないと思っておりましたが、日に日に気になって夜も眠れません。
    解決方法何かありませんでしょうか。
    やはり、脱獄し直した方が良いでしょうか。

    • 環境が分からないため何とも言えないのですが、セーフモード上で再現されない場合はMobileSubstrate系の脱獄アプリが原因となっている可能性が高いです。
      そうであれば一度SBSettings > more > MobileSubstrate Addonsから気になる物をオフにして確認してみると良いかと思われます。

      • お返事ご丁寧にありがとうございます。
        ブログの通りやってみます。