Как использовать theos %hookf для подключения функции Objective-C в приложении iOS?IOS

Программируем под IOS
Ответить
Anonymous
 Как использовать theos %hookf для подключения функции Objective-C в приложении iOS?

Сообщение Anonymous »

Я пытаюсь подключить функцию сложения. Реализация выглядит примерно так:

Код: Выделить всё

NSNumber *addition(NSNumber *num1, NSNumber *num2) {
double result = [num1 doubleValue] + [num2 doubleValue];
return @(result);
}
Прочитав документацию theos здесь, я написал следующую настройку theos:

Код: Выделить всё

#import 

NSInteger addition(NSInteger num1, NSInteger num2);

%hookf(NSInteger, addition, NSInteger num1, NSInteger  num2) {
return 99;
}
Однако это приводит к следующей ошибке:

Код: Выделить всё

==> Linking tweak objchooker (armv7)…
ld: warning: -multiply_defined is obsolete
Undefined symbols for architecture armv7:
"_addition", referenced from:
__logosLocalInit in Tweak.x.f54e192c.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/hnin.sin/Desktop/objchooker/.theos/obj/debug/armv7/objchooker.dylib] Error 1
make[2]: *** [/Users/hnin.sin/Desktop/objchooker/.theos/obj/debug/armv7/objchooker.dylib] Error 2
make[1]: *** [internal-library-all_] Error 2
make: *** [objchooker.all.tweak.variables] Error 2
%hook и %hookf работают в моем тестовом приложении Swift, но в этом приложении Objective-C работает только %hook. Я делаю что-то неправильно для %hookf или %hookf не работает в приложениях Objective-C?

Подробнее здесь: https://stackoverflow.com/questions/784 ... an-ios-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»