Этот вопрос касается перехвата с помощью Mobile Substrate, но, пока вы знаете Objective-C, вы, вероятно, можете помочь.
У меня есть этот класс, который я выбросил из UIKit. Вот часть этого:
@interface UIStatusBarItem : NSObject {
int _type;
}
@property(nonatomic, readonly, retain) int type;
@property(nonatomic, readonly, retain) int leftOrder;
@property(nonatomic, readonly, retain) int rightOrder;
@property(nonatomic, readonly, retain) int priority;
...
@end
Естественно, если бы я хотел установить int type
, например, 16, я бы сделал:
MSHookIvar<int>(self, "_type") = 16;
С тех пор [self type]
вернется 16. Это я знаю.
Моя проблема в том, что я не знаю, как компилятор "называет" int
, где хранятся значения для int leftOrder
, int rightOrder
и int priority
. Я попробовал:
MSHookIvar<int>(self, "leftOrder")
но это неправильно и вылетает телефон. Все, что мне действительно нужно знать, - это как эти переменные называются автоматически, если вы сами их не указали. Спасибо
Кроме того, я ненавижу звучать как укол, но, пожалуйста, не отвечайте просто "не делай этого, это небезопасно". Я знаю, что это не так, и поэтому большинство моих продуктов в Cydia, а не в App Store = P