THEOS の微調整では、クラスをフックし、そのメソッドの 1 つを正常に呼び出しています。
私の問題は、微調整しているアプリの更新後にメソッド名が変更されたことです。
古いバージョンでは、問題のメソッドは 1 つの引数 (method:arg1) を取り、2 つの引数 (method:arg1:arg2) を取るように更新されました。今のところ、私のコードは次のようになります
%hook className
- (void)method:arg1 {
//
}
- (void)method:arg1:arg2 {
//
}
%end
この設定は新しいバージョンでは正常に機能しますが、古いバージョンではアプリがクラッシュします。バンドル バージョン ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]) に基づいてこれらのメソッドのいずれかを条件付きで呼び出す方法はありますか?
#if と #endif で遊んだことがありますが、うまくいきませんでした。
あなたの助けに感謝します。