No Substrate Modeで脱獄アプリを削除するとホーム画面にアイコンが表示されない問題

iOS 8.1からiOS 8.3の脱獄ツールであるTaiGで、いくつかの不具合の報告がある。その内の一つでホーム画面上にアイコンが全て表示されなくなったという不具合。

 

どのタイミングでその症状になるのかというのは明確ではないが、ボリュームアップキーを押しながら電源オンで入れるNo Substrate Modeでスタンドアロンの脱獄アプリを削除するとほぼ高い確率でホーム画面上のアイコンが消えてしまうという情報が入った。

 

※本記事は脱獄(Jailbreak)iOSデバイス向けの記事です。脱獄していないデバイスでは動作しません。脱獄や脱獄後に関しては以下のリンクを参考にして下さい。

脱獄Q&A : 脱獄(JailBreak)とは?よくある質問や脱獄後の質問など

スタンドアロン脱獄アプリを削除した時に起こる

TaiGで脱獄後に何か操作を行なった後、ホーム画面上にアイコンがすべて表示されなくなったりほとんど表示されなくなったりすることがある。

これらの問題はホーム画面上のレイアウトに関するTweakもしくはスタンドアロン脱獄アプリをインストールまたはアンインストールした時に起こるのではないかと言われている。

実際にはNo Substrate モードの状態でスタンドアロンアプリを削除した場合にかなり高い確率でこの症状になることがわかっている。

 

もちろんそれ以外の状態で起こったという報告もあるようだ。

 

原因はTaiG UICacheの削除か

taig-uicache

確実というわけではないが、TaiG 8.1.3-8.x Untetherをアップデートする時にTaiG Uicacheを削除した場合に起こっているのではないかと言われている。

現在はTaiGのリポジトリ(http://apt.taig.com/)には表示されていない。が一応こちらからダウンロードはできる。

無理矢理再インストールすることも可能だが自己責任でお願いする。

 

追記:

3k-comment

削除しても問題ないとのコメントも。

 

 

No Substrate Mode

No Substrate Modeとはデバイスの電源をオフにし、ボリュームアップキーを押したまま電源を入れることでCydia Substrate(Mobile Substrate)を使用するTweak全てを読み込まずに起動することができるモードである。

 

セーフモードと間違われやすい、同じ物だと思われがちだが厳密に言うとセーフモードは、Cydia Tweakである”Substrate Safe Mode”が強制的にSubstrateに依存するTweakを読み込ませないようにするモードである。Substrate Safe Mode自身もCydia Substrateに依存するものであるが、自身以外を読み込ませないようにしている。

ステータスバーに「Exit Safe Mode」と表記されているのが特徴でもある。

 

それとは違いNo Substrate Modeは初めからSubstrateに依存するものを読み込ませないで起動させるため、Substrate Safe Modeさえも動作していない状態である。

この状態が一番入獄に近い状態とも言える。

 

スタンドアロンの脱獄アプリをインストール

スタンドアロンの脱獄アプリが問題あるということなので実際にインストールしてみる。スタンドアロンアプリはホーム画面上に表示されるタイプであるいFileやiCleanerなどがある。

batterylife-home

スタンドアロンアプリであるBatteryLifeをインストールし、No Substrate Modeで起動し、削除を行なってみる。

non-home

みごと何も表示されない状態になった。ちなみにアンインストールす時に少し挙動がおかしかった気がした。

この状態になるとリスプリングしてもリブートしても何も表示されないし起動もできないので困ったものである。

 

SSH接続でコマンド「uicache」を入力

uicache-ssh

こういう時のためにOpenSSHを入れておくと便利である。OpenSSHを入れておくことで同じWiFi上のPCなどからデバイスにアクセスすることができ、ターミナルでコマンドを入力することが出来る。

コマンド入力で「uicache」と入力してやればキャッシュがクリアされホーム画面上のレイアウトもきちんと表示されるというわけだ。

 

WinSCPでの手順

SSH接続でアクセスするにはWinSCPなどのソフトを使用し、WinSCPの場合、転送プロトコルはSFTP、ホスト名にIPアドレス、ユーザ名にroot、パスワードは変更していなければ「alpine」と入力してログイン。

コマンド > コンソールを開く > 「uicache」という手順だ。

もちろんこの操作はこの症状になる前にOpenSSHを入れていなければできない。

 

OpenSSHは便利である反面セキュリティ的に少し不安である。パスワードの変更は必ず行なっておこう。

MobileTerminalを使ってrootパスワードとmobileパスワードを変更

 

taig-uicache-problem

先にも説明した通りここで説明している手順はOpenSSHが入っていなければできないが、もし同じような症状でOpenSSHを入れているのであれば是非試して欲しい。

 

追記

この問題はUIKit Tools 1.1.10へのアップデートで改善されるとのこと。