iOS 5.0時代には「URLスキームを使用した特定の設定画面を起動する方法」という物が流行りました。ですが、iOS 6を含むiOS 5.1以降ではSiriからの呼び出しだけを残して他からの呼び出しは使えなくなってしまいました。
脱獄を行っていたとしても、設定アプリの奥の方にある項目へ直接アクセス出来るのは非常に便利です。Activatorにも同様の機能は備わっているのですが、全ての項目を選択出来る訳では無いため、ちょっと不便です。
というわけで脱獄環境限定ではありますが、設定アプリのURLスキームを復活させてみよう!というのが今回のお話です。
設定アプリ × URLスキーム
URLスキームは【prefs:root=WIFI】と言ったような形の物です。例えばこれをSafariのアドレス覧へ入力し実行すると、設定アプリのWiFi画面が起動します。
よくある使い方としては、WebClipとしてホーム画面にURLスキームを置いておく方法でしょうか。これであればアイコンをタップするだけで、特定の設定アプリ項目を起動することが可能です。
ですが、iOS 6を含むiOS 5.1以降ではこの方法が禁止され、Siriからの呼び出し以外では使えなくなってしまいました。
URLスキームを復活させる!
ですが!そこは脱獄環境、どうにでもなるってもんです。ちょこっとファイルの編集をしてあげるだけで以前のようにURLスキームを使った設定アプリの起動が出来る様になります!
私はよく「モバイルデータ通信の使用状況」項目を使うので、ホーム画面にWebClipを置いて直接アクセスすると言ったような使い方が好みです。
iOS 6対応URLスキームまとめ
iOS 6で復活させる方法
*iOS 6〜での方法になります
方法は思ったよりも簡単で、ファイルを開いてオンになっている部分をオフにするだけ! 今回もいつも通り『iFile』を使用して作業を行っていきます。
注意
システムファイルを編集しますので、実行前に必ずバックアップを取っておくようにしてください。これがないと問題が発生した際に戻せなくなってしまいます。
また、何を行っているかを理解し、何が起っても自分だけの力で解決出来る方のみ実行するようにしてください。
01:ファイルを開く
iFileを使って下記のファイルを『プロパティリストビューアー』で開いてください。
/Applications/Preferences.app/info.plist
02:設定をオフにする
info.plistを開きましたら、中に【CFBundleURLTypes】という項目があるはずです。これを選択し、更に中にある【Dictionary (Settings Location URL)】項目も選択。
【CFBundleURLTypes】→【Dictionary (Settings Location URL)】といった感じで順に選択していくだけです。ここまで来ちゃえば完了したも同然!
ここにある『CFBundleURLIsPrivate』項目をオフに変更し、画面右上にある『完了』ボタンをタップしてファイルを保存してください。これでファイルの書き換えは完了。
03:リスプリングして完了!
ファイルの書き換えが終わったので、最後にSBSettingsなどからリスプリングを行えば全ての作業が完了です。
作業が問題無く完了出来ていればこれでURLスキームを使った設定アプリの呼び出し・起動が出来る様になっています。
コメント
いつもお世話になってます!
iOS5以降からユーザー辞書の読みに一部の文字が使えなくなったりとかしてるんですけど何処かを書き換えて昔の仕様に戻せるなら記事にしてもらえませんか?
01のプロバティリストビューアーがプレイリストビューアーになってます
お・・・お恥ずかしい・・・見なかったという事に・・・見なかったという事にしていただいて!!
プロパティリストをいじって簡単に有効にできるって言うことはやっぱりAppleはわざと使えないようにしたんですね・・・
IOS6でもダウングレード、OSバージョン維持しながら復元が可能って本当ですか?
~A4デバイスであれば可能ですが、それ以外はSHSHがあったとしても不可能です
はじめまして。
info.plistをプロパティリストビューワーで開いたのですが、その下にCFBundleURLTypesが見つかりません。
私のは4S 5.1.1 なのですが場所が6.xとは変わっているのでしょうか・・・
URLスキームが追加されたのは6.0からだったような気がします
残念ながら、こちらの手法で復活させることが出来るのはiOS 6以降になってしまいます
自分もCFBundleURLTypesが無いです。
上の方と同じく4Sの5.1.1です。
なぜでしょうか?
こちらの手法で復活出来るようになるのはiOS 6以降からとなってしまっています
カスタムURLは起動しないのですが、やはり復活といっても自分で設定したカスタムURLは無理でしょうか?
上記の方法も、ios6.1.2ではブロックされていて、info.plistを変更するとinfo,plist*とrenameされ元のinfo,plistが復元される・・・・・info.plist*はrenameできないし〜
iOS 6.1.2でも書き換え可能です。