2

theosには%group機能があると聞きました。これについて私が理解したことから、条件がtrueに設定されている場合、またはif()を使用する代わりに簡単に有効または無効にしたい場合は、多くのフックを適用するためだと思います。私が言っていることは本当ですか?また、条件が満たされた場合、この機能をどのように使用できますか?コードにifやelseがたくさんあるので、この機能が本当に必要なので、助けてください。すべての代わりに%groupを使用する方がはるかに簡単です。どんなアドバイスも大歓迎です!

4

2 に答える 2

2

答えが見つかりました。

  1. %group thegroupnamea の前に使用できますが、後%hookに 2 つを忘れずに付けて%endください。
  2. %ctor必要なときに電話をかけることができます%init(thegroupname);

これが誰かを助けることを願っています! ところで、%init()関数はどこでも使用できます%hook

%group MessagesApp

%hook CLASS_TO_HOOK

- (id)FUNC_TO_HOOK {
    return %orig;
}

%end

%end //Don't forget your second end.

%ctor {
    if (TRUE) {
        %init(MessagesApp);
    }
}
于 2012-09-30T12:46:36.733 に答える
0

さらに明確にするために回答を追加するには、次のように使用します。

%group iOS8
   %hook IOS8_SPECIFIC_CLASS
          // your code here
   %end // end hook
%end // end group ios8

%group iOS9
   %hook IOS9_SPECIFIC_CLASS
          // your code here
   %end // end hook
%end // end group ios9


%ctor {
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) {
        %init(iOS9);
    } else {
        %init(iOS8);
    }
}
于 2015-10-29T14:58:19.767 に答える