【備忘録】Theosで簡単なTweak作成
今回作成するTweakは
LINEでのNewsTabの無効化: Disable LINENewsTab
本記事で使用している環境
まずはFlexでの動作確認
正直、Tweak開発者でFlexを入れていない人はいないと思う。
LINEのNewsTabのメソッドは
-(bool)useNewsTab
このメソッドの返り値をfalseにしてあげれば、NewsTabは無効化される。
NewsTabを無効化するとCallTabが出てきてしまうので、CallTabも無効化する。
CallTabのメソッドは
-(bool)useCallTab
CallTab無効化はこのメソッドの返り値をfalseにしてあげる。
適用させるメソッド
-(bool)useNewsTab
-(bool)useCallTab
どちらも返り値: false
どちらともクラスはNLConfigurationManager
ONにしてLINE開くとNewsTabが無くなってるはず。
確認できたら、Theosで実際に作っていきましょう〜
Project作成
Finderで作成場所を決め、ターミナルにてcdコマンドで移動し、Theosを起動
今回はTweak作成なので12でEnter
入力項目は次の通り
- Project Name: [プロジェクト名]
- Package Name: [パッケージ名]
- Author/Maintainer Name: [作者名]
- MobileSub...: [適用するBundle ID]
- List of ...: [インストール後の終了するアプリ]
今回は
- Project Name: Disable LINENewsTab
- Package Name: com.bluesquare.disablelinenewstab
- Author/Maintainer Name: BlueSquare
- MobileSub...: jp.naver.line
- List of ...: [Enter] (デフォルトではSpringBoardなのでインストール後Respringする)
disablelinenewstabのフォルダが作成されたことを確認する。
さらに中身も確認する。
- control: Tweakの情報
- [TWEAK_NAME].plist: 適用するBundle IDが書かれたファイル
- Makefile: Tweakのbuild情報が書かれている
- Tweak.xm: Tweakのプログラム
情報を書き込む
controlファイルは各自で編集してください。
plistファイルは特に編集することないです。
64bitに対応。
ARCHS = armv7 armv7s arm64
また、インストールしやすいようにIPアドレスも設定すると良いかもしれません。
その場合は、設定>接続してるWi-Fiのℹ︎マークから端末のIPアドレスを確認しましょう。
THEOS_DEVICE_IP = 192.168.0.9
SSH接続でインストールするので端末にOpenSSHを入れてSSH接続できるようにしておいて下さい。
SSH接続できるか下記のように確認しましょう。
ssh root@IPアドレス
次にTweak.xmの編集。
適用させるメソッドは
-(bool)useNewsTab
-(bool)useCallTab
のふたつで、どちらとも返り値はfalse
どちらもクラスはNLConfigurationManager
これをTweak.xmに書いてあげればいい。
書き方としては
%hook クラス名
メソッド{
処理
}
%end
みたいな。
だから、今回はこうなる。
%hook NLConfigurationManager
//Disable News Tab
-(bool)useNewsTab
{
return false;
}
//Disable Call Tab
-(bool)useCallTab
{
return false;
}
%end
これだけ。
あとはbuidしましょう。
cdでdisablelinenewstabに移動し、make packageでOK
IPアドレスを設定した人はmake package installでbuildしてインストールできます。
debファイルはpackagesフォルダに保存されています。
完成。
今回作成したTweakのファイルはGitHubに載せておきます。