Я пытаюсь поместить UIButton в iPhone MobileSMS.app (приложение для сообщений). Он успешно появляется в представлении, но когда вы нажимаете его, он, конечно, падает, потому что он не вызывает какой-либо целевой класс и не перехватывает метод. Целевой класс и метод, который я хотел бы перехватить, находится во втором коде ниже, как я могу добиться вызова этого при нажатии кнопки? (Моя главная цель — поместить кнопку в окно беседы, и при нажатии на нее будет принудительно отправляться SMS вместо автоматического использования iMessage.)
#import <UIKit/UIKit.h>
#import <ChatKit/ChatKit.h>
@interface CKTranscriptCollectionViewController : UIViewController
@end
%hook CKTranscriptCollectionViewController
-(void)loadView {
%orig;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"SMS" forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, 50, 100);
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
-(void)buttonPressed {
NSLog(@"Button Pressed!");
}
%end
Класс и метод, который я хотел бы вызвать при нажатии кнопки (которая принадлежит заголовку «ChatKit/CKConversation.h»):
%hook CKConversation
-(BOOL)forceMMS {
return TRUE;
}
%end