ロック画面にボタンが1つあり、触れたときにアラートを表示します。このようなもので遊んで、これをやろうとしましたが、ボタンに触れるとクラッシュし、再起動してセーフモードに入ります。iPhoneでtheosを使用して実行しています。コードは次のとおりです。
#import <UIKit/UIKit.h>
@interface SBAwayView : UIView
@end
@interface SBAwayController
UIButton *myButton;
-(void)unlockWithSound : (BOOL)sound;
@end
%hook SBAwayController
-(id)lock{
SBAwayView *v = MSHookIvar<id>(self, "_awayView");
myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(21, 80, 100, 35);
[myButton setTitle:@"My Button" forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(myButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[v addSubview:myButton];
%orig;
}
-(void)myButtonPressed{
UIAlertView *theAlert = [[UIAlertView alloc] initWithTitle:@"Title of Alert" message:@"Message of Alert" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[theAlert show];
[theAlert release];
}
%end