mikiyan1978’s 脱獄情報日記

脱獄に関する情報を発信します

Preference Bundle作成方法

今回は脱獄端末のみでPreference Bundleの作成方法を紹介します。
前提としてtheos構築済み、make packageなどのコマンドでdeb作成の経験があるとします。

Tweakに何かしらの機能を、例えばオンオフ、適応させるためのRespringなどがあります。
そういう場合にPreference Bundleを使用します。
今回は簡単な例として設定アプリからRespringするものを作っていきましょう。

まず、

$THEOS/bin/nic.pl

こちらのコマンドでTweakプロジェクト作成します。
作成されたらcdコマンドでプロジェクト内にカレントディレクトリを変更します。
更にもう一度$THEOS/bin/nic.plでPreference Bundleを選択します。するとTweakプロジェクト内にPreference Bundleプロジェクトが作成されます。
例としてTweakプロジェクト名を
respref
Preference Bundleプロジェクト名を
resp
とすると

上記画像のようになります。ここでMakefileファイルの中を確認します。

上のように
SUBPROJECTS += resp
この記述がある事を確認します。64bit端末にインストールする場合は
ARCHS = armv7 arm64
これを追加記述します。
同じディレクトリにあるTweak.xmファイルについては今回、設定アプリからRespringさせるのみなので編集はしません。
次にそのディレクトリに作成された
respというフォルダーに移動します。

entry.plistファイルを開き

1番下のlabelという項目に名前をつけます。画像のようにすると

このように表示されます。
次に、Makefileファイルを開き先程と同様、ARCHS = armv7 arm64を追加記述します。

次にResourceフォルダーに移動します。
plistファイルが2つありますが、$THEOS/bin/nic.plのPreference Bundleにて付けた名前のplistファイルを開きます。ここではresp.plistファイルになります。

画像のように編集します。defaults項目についてはもう1つのplistファイルつまりInfo.plistファイルのCFBundleIdentifier項目に書かれているものと一致させて下さい。

では、ディレクトリを1つ戻ります。
そしてresp.mmファイルを開き、

画像の位置に

"-(void)resp {
system("killall -9 SpringBoard");"
これを追加記述します。これはRespringさせるメソッドになります。赤文字の部分はresp.plistファイルのaction項目と一致させて下さい。一致さえさせていればお好きな英文字で構いません。
Respringという動作を起こさせるキーになります。
作業は以上となります。あとはターミナルよりcdコマンドにてresprefフォルダーにカレントディレクトリを変更してmake packageして下さい。

質問がありましたら下のLINE追加ボタンより追加して下さい。
友だち追加

Twitterやってます。

オマケのカスタム検索です。