NCSettingsでも「SBSettings用トグル」が使えるらしいので、試してみた! [JBApp]

(23)

数日前にNCSettingsへ追加されたLTEトグルについて作者さんのTwitterを見ていたら「NCSettingsとSBSettingsのトグルは同じ」といった事をツイートしているのを発見したので、SBSettingsのトグルをNCSettingsで使ってみる!実験をしてみました。

先に結論を言ってしまうと、使える物も多くあります。でも、機能しなかったりセーフモードに入ってしまうトグルもあります。ですが、面白い!SBSettings用トグルで使いたい物がある!という場合はやってみる価値はあると思います。

スポンサーリンク

NCSettingsとSBSettingsのトグルは同じ?

LTEトグルの追加以来、ちょっと不安定だったNCSettingsですが、最近はだいぶ安定してきましたね。
このNCSettings自体のアップデート状況なんかはどうなのかなぁと作者さんのTwitterを見ていたら面白い事が書かれていました。

[blackbirdpie url=”https://twitter.com/JamieD360/statuses/306400301177528320″]

これによると、どうもNCSettingsとSBSettingsで使っているトグルは同じ形式に物の様です。確かに以前トグルファイルを見た時にSBSettingsと似たような構成だなぁ~とは思ったのですが、まさか同じ物とは。

SBSettings用トグルをNCSettingsに移植してみた

という事で、出来ると言われたら試してみようホトトギスと昔の偉い人も言っていたようですので、試してみます。まずはSBSettings用トグルをNCSettingsにコピー・移植!

1:トグルのコピー

方法は簡単で、SBSettingsのトグルファイルをNCSettingsのトグルが入っているディレクトリにコピーしてあげます。
SBSettingsのトグルは「Toggles」ディレクトリ内に入っていて、例えば3Gトグルであれば「3G」というフォルダごとNCSettingsのディレクトリにコピーします。

・SBSettings(コピー元):
/var/mobile/Library/SBSettings/Toggles/

・NCSettings(コピー先):
/var/mobile/Library/NCSettings/Toggles/

下の画像ではSBSettings用のPreventSleepトグルをNCSettingsのTogglesディレクトリにコピーした図です。

challenge-ncsettings-toggle-equal-sbsettings-toggle-02

2:コマンドファイルのコピー

一部トグルにはコマンドファイルが付属している場合がありますので、ファイルが存在する場合はそれもコピーしておきます。移動ではなく、コピーなので間違えないようにしてください。(実はコピーしなくてもほとんどは動くのですが、一部動かないトグルがあったので一応コピーしておきましょう)
Commandsディレクトリ内にコマンドファイルが入っているのですが、ID名が付いていたりします。よくファイル名を見ると分かるので、関係のありそうなファイルを全部コピーしてください。通常は2~3ファイルと言ったところです。

・SBSettings(コピー元):
/var/mobile/Library/SBSettings/Commands/

・NCSettings(コピー先):
/var/mobile/Library/NCSettings/Commands/

3:設定のリセット

トグルのコピーが終わりました。ただ、NCSettings側でトグルを読み込ませる必要があります。
この読み込ませる作業をいくつか試したのですが、どうも設定をリセットする方法が確実なようです。
設定アプリ内の『NCSettings』項目内から『全ての設定をリセット』をタップするだけで、NCSettingsの設定がリセットされます。トグルの並び順などが初期化されるので注意してください。

challenge-ncsettings-toggle-equal-sbsettings-toggle-03challenge-ncsettings-toggle-equal-sbsettings-toggle-04

このリセット作業が終わると、先ほどコピーしたトグルがNCSettings側に読み込まれますので、『トグル』項目に先ほどコピーしたトグル名が出現しているはずです。一番下あたりにあると思います。
今回はPreventSleepReset SafariSwipeNavのトグルをコピーして、NCSettingsに追加してみました。ちゃんとトグル項目にこれらの名前が表示されているのが分かります。

challenge-ncsettings-toggle-equal-sbsettings-toggle-05

実際に表示設定にして、NCSettingsを呼び出してみるとこのような感じです。左からPreventSleepReset SafariSwipeNav・WiFiトグルと並んでいるはずなのですが、左3つが空白で表示されています。
これはアイコンがまだ用意されていないため、空白表示となっている状態です。
実はこのままでもタップすれば機能するのですが、空白だと見にくいのでアイコンを追加してみましょう。

challenge-ncsettings-toggle-equal-sbsettings-toggle-06

4:アイコン(テーマ)について

空白のままではテストするのも見にくいので、適当なアイコンを追加してみます。
NCSettingsのアイコンは下記ディレクトリ内に、トグルが入っているフォルダと同じ名前のフォルダを作成し、その中へ「on.png(on@2x.png)」と「off.png(off@2x.png)」というアイコン画像を入れて追加します。
使用しているテーマディレクトリの中へ追加してあげましょう。

/var/mobile/Library/NCSettings/Themes/テーマ名/

・オン時のアイコン画像名
on.png(40 x 40 px)
Retina用:on@2x.png(80 x 80 px)

・オフ時のアイコン画像名
off.png(40 x 40 px)
Retina用:off@2x.png(80 x 80 px)

今回はテストなのでDefaultテーマのディレクトリ内に『Prevent Sleep』というフォルダを作成し、『on@2x.png』と『off@2x.png』のアイコン画像を追加してみました。
これでPrevent Sleepトグルのアイコンが追加出来たはずです。
確認してみると、先ほど空白だったうちの1つ、Prevent Sleepトグルにアイコンが表示されるようになりました。

challenge-ncsettings-toggle-equal-sbsettings-toggle-07

で、使えるの?使えないの?

一番の疑問点である、SBSettings用トグルはNCSettingsで使えるのか?ですが、単純にオンオフを行うだけのトグルであればほとんどが使えます
例えば今回テストとして追加したPreventSleepSwipeNavなんかはきちんと動きました。ついでに、SBSettings側のトグルともオンオフアイコンがきちんと連携した動きになっていました。
また、Reset Safariもオンオフトグルではないのですが、問題無く動作しました。
ついでに、トグルを長押しして動作させる物がいくつかありますが、それらも動きます。動きますが、次項で書かれているようにポップアップ表示がされる物は動作がかなり怪しいので注意が必要です。

challenge-ncsettings-toggle-equal-sbsettings-toggle-08

逆に動かないトグルは?

動かないトグルは?と言われると難しく、実は試した限りでは全部動きました。ただ動くのですが、挙動が変だったり、何かの操作をするとセーフモード行きになるといった具合です。
一部ご紹介します。

まずSBSettingsに標準で入っている『Brightness』、『Processes』、『Fast Notes』といったSBSettings上にポップアップ表示が現れて、そこから操作するトグル達。
リスプリング直後、SBSettingsを一度も呼び出していない状況でNCSettings側から実行すると使用可能でしたが、一度でもSBSettingsを呼び出してしまった後はNCSettings側でトグルをタップしてもポップアップは表示されず使用不可、その後SBSettingsを呼び出すとタップした回数分のポップアップ表示が一気に出てきてしまうと言う動作になっていました。

challenge-ncsettings-toggle-equal-sbsettings-toggle-09challenge-ncsettings-toggle-equal-sbsettings-toggle-10

また、PasteboardStackerを使ってみたらどうなるかな?と試してみました。
動作としては上の物と同じで、SBSettingsを呼び出す前であればポップアップ表示させることが出来ます。ただし、バツボタン履歴をタップするとセーフモードに入ってしまいます。これはSBSettingsを自動で閉じるような仕様になっている影響でしょうか?SBSettings出ていないので当たり前ですね。
ということで、呼び出せるのはリスプリング後SBSettingsを一度も呼び出したことがない時に限られ、1回呼び出すと次は呼び出せない。といった感じになっていました。やっぱりここら辺は難しいようです。

challenge-ncsettings-toggle-equal-sbsettings-toggle-11

感想

SBSettings用トグルをNCSettingsで使うことは出来る!

ただし、ポップアップ表示される物や、独自に特別な動きが加わっている物は厳しい事がある。といった感じです。

感想としては単純なオンオフ トグルであれば9割方動いたので、脱SBSettings!入NCSettings!な方にとってはなかなか良い方法なのでは無いかと思います。
まぁ、ほとんどの有名どころのトグルはNCSettings側で最初から用意されているので、「これがない!」と言う物も少ないのですが、どうしてもこのトグルだけは使いたい!と言う物がある場合には良いかもしれません。

あとは、自分で追加したトグルにはアイコンが全く用意されていないので、何かしらのアイコンを用意する必要があります。ここに関しては「絵心がない私にとってちょっと大変かもなぁ」と・・・

コメント

  1. 大発見って感じですねSANTAさん
    プロセス&メモリ開放はNCSettingsに無いのでかなり興味深いです
    これはデバイスを超えた移植ができるのでしょうか?
    AのiPhoneからSBSettingsトグルを抜き出し、BのiPhoneにSBSettingsトグルを移植。
    BのiPhoneが一度もSBSettingsをダウンロードしたことのない、NCSettingsのみのデバイスとした場合、問題無く動作するでしょうか?

    • 一部トグルはSBSettingsの機能を使っていることもあるので無理な物もあるのですが、単純な物であれば必要なファイルを必要な場所に配置すれば動作するはずです。

      • ではプロセス確認&メモリ解放の機能はどうなりますか?

  2. これiOS5の登場当初から言われてましたよ!
    だから昔の機種の方でもできると思います!

  3. これで表示できるかな
    <kry>Visible</key>
    <array>
    <string>Power</string>
    <string>Wi-Fi</string>

    ここに追加
    </array>

    • >>「全ての設定をリセット」しなくてもいい

      つまりそれをしなくても、「全ての設定をリセット」をすれば、そういうplistに変わるということ?

      • 設定をリセットしますと、設定の初期化のために自動でTogglesディレクトリにあるトグルを読み込みに行ってくれます。
        そのため、自身で記述したりする必要がない、といった感じになっています。

    • はい、それでも大丈夫です!
      ただ注意点として、トグル名をきちんと記述する必要がありますので、その点は間違えないようにする必要がありますね!

  4. 逆にNCSettingsからSBSettingsに移植してみるのもありですね。Flashとか。

    • Flashが欲しいならSBSettings用のトグルをインストールすればいいんじゃね…?
      わざわざ劣化版から取る必要ないだろ
      NCSettingsを入れるまでもないじゃないか

  5. iOS6.1.2対応のSB Stay Hereの様なステータスバーをタップでTOPに戻る機能を無効に出来るJB Appはありませんか?
    ActivatorでもQuickDoでも無効にされず、TOPに戻ってから実行されるので困っています。
    Cydiaやググって一通り探したつもりではいますが、見付かりませんでした。
    よろしくお願いします。

  6. 写真はどちらから拾ってくればいいのでしょうか•••

    • 写真とはアイコンのことでしょうか?
      これは自身で作成したり、ネット上を探してみたりといった感じになると思います。

  7. すいません質問です
    SBSettingsをアンインストールした上で、Processesだけ移植しようと思っているのですが、SBSettingsをアンインストールすることによってテーマも消えてしまうため、Processesをタップした際に背景の無い透明のものが出てしまいます。機能面には問題無く動作するのですが、どうしても見栄えが…。
    なんとかSBSettingsがない環境で、Processesにテーマを適用させることはできませんか?ちなみに適用させたいテーマのバックアップだけは取ってあります。

    • 「/var/mobile/Library/SBSettings/Themes/Default/」ディレクトリを作成し、この中に「Close.png」、「SlideFrame.png」、「SlideFrame3.png」を元のテーマからコピーしてあげることで大丈夫なはずです。

  8. いつもSANTA様にはお世話になっております。
    この記事とは直接関係ないのですが…

    SBSettingsの件で、かなり前よりアップデートが来ていて、内容が…
    ワーニング…IOS5のユーザーはどうのこうのと、英語力が乏しいのでアップデートしても良いのか迷っております。
    その他のアプリも色々アップデートが来てますが、そういったものは、
    気にせずにアップデートしてもよろしいのでしょうか?
    iphone4S 5.1.1です
    よろしくお願いします。

    • 環境にも左右されてしまうのですが、私の環境では特に問題無く使用出来ています。
      私の場合は復元となっても良いかな~と思いつつアップデートしてしまっているのでアレですが、現状特に問題が起こっていないようであれば慎重に問題無いアップデートかを確認してみた方が良いかもしれません。

  9. 返答ありがとうございます。

    環境…ですよね^^;
    ◯◯アップデート…とかで、毎回色々ググってますが、OTAの私は、もう一歩が踏み出せない次第であります。

    復元覚悟で勉強しながら、頑張っていきます。
    ありがとうございました。

  10. トグルの移植は成功して、動作もするのですが、
    このあとにSbsettings自体やSbsettingsの各トグルを削除しても問題なく動作するのでしょうか?

    • 一部トグルについては、トグルファイル意外にも必要な物がありますので、それらはSBSettingsが入っている必要があります。

  11. NCSettingsの中のテーマ画像を作っているソフトってなんですか?

  12. SANTAさんはアイコン作るとき何のツール使ってますか?
    教えて頂くとありがたいです

    • Photoshopを契約していますので、それを使っています。無料の物であればGIMPなどでも十分かなと思います