|
@@ -39,7 +39,11 @@ typedef NS_ENUM(NSInteger, BSInstallType) {
|
|
|
BSInstallTypeElectra,
|
|
|
};
|
|
|
|
|
|
-@interface ViewController ()
|
|
|
+@interface ViewController () {
|
|
|
+
|
|
|
+ BOOL _respringReady;
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
|
|
|
@property (readwrite, assign) BSInstallType installMode; //0 = meridian 1 = electra
|
|
@@ -146,6 +150,9 @@ bool jailbreak_has_run = false;
|
|
|
|
|
|
}
|
|
|
*/
|
|
|
+
|
|
|
+ _respringReady = FALSE;
|
|
|
+
|
|
|
self.installMode = BSInstallTypeUnsupported;
|
|
|
if (SYSTEM_VERSION_EQUAL_TO(@"10.2.2")){
|
|
|
self.installMode = BSInstallTypeMeridian;
|
|
@@ -203,6 +210,19 @@ bool jailbreak_has_run = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
+- (void)setGoButtonTitle:(NSString *)title {
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+ [self.goButton setTitle:title forState:UIControlStateNormal];
|
|
|
+ [self.goButton setTitle:title forState:UIControlStateDisabled];
|
|
|
+ [self.goButton setTitle:title forState:UIControlStateFocused];
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
- (void)viewDidLoad {
|
|
|
[super viewDidLoad];
|
|
|
|
|
@@ -596,9 +616,26 @@ void log_message(NSString *message) {
|
|
|
|
|
|
- (IBAction)doit:(id)sender {
|
|
|
|
|
|
+
|
|
|
+ if (_respringReady) {
|
|
|
+
|
|
|
+
|
|
|
+ [self writeText:@"Respringing please wait..."];
|
|
|
+
|
|
|
+ [NSTask launchedTaskWithLaunchPath:@"/usr/bin/killall" arguments:@[@"-9", @"backboardd"]];
|
|
|
+
|
|
|
+
|
|
|
+ return;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
NSLog(@"DO IT!");
|
|
|
|
|
|
[self.goButton setEnabled:NO];
|
|
|
+ [self.goButton setHidden:YES];
|
|
|
+
|
|
|
+ [self writeText:@"Starting jailbreak..."];
|
|
|
|
|
|
currentViewController = self;
|
|
|
|
|
@@ -616,16 +653,27 @@ void log_message(NSString *message) {
|
|
|
|
|
|
int jailbreakstatus = begin_fun(tfp0, user_client, shouldEnableTweaks);
|
|
|
if (jailbreakstatus == 0){
|
|
|
+
|
|
|
+ [self setGoButtonTitle:@"Respring"];
|
|
|
+
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
- [self.goButton setTitle:@"Jailbroken" forState:UIControlStateNormal];
|
|
|
|
|
|
+ //[self.goButton setTitle:@"Jailbroken" forState:UIControlStateNormal];
|
|
|
+
|
|
|
+ [self writeText:@"\nFREEEEEEEEDOM!!!!!\n"];
|
|
|
+ [self writeText:@"\nPlease select respring to continue!\n"];
|
|
|
+ [self.goButton setEnabled:TRUE];
|
|
|
+ [self.goButton setHidden:FALSE];
|
|
|
+ _respringReady = TRUE;
|
|
|
+ /*
|
|
|
UIAlertController *dropbearRunning = [UIAlertController alertControllerWithTitle:@"Dropbear Running" message:@"Dropbear is now running! Enjoy." preferredStyle:UIAlertControllerStyleAlert];
|
|
|
[dropbearRunning addAction:[UIAlertAction actionWithTitle:@"Exit" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
|
|
|
[dropbearRunning dismissViewControllerAnimated:YES completion:nil];
|
|
|
//exit(0);
|
|
|
- [NSTask launchedTaskWithLaunchPath:@"/jb/usr/bin/killall" arguments:@[@"-9", @"backboardd"]];
|
|
|
+ [NSTask launchedTaskWithLaunchPath:@"/usr/bin/killall" arguments:@[@"-9", @"backboardd"]];
|
|
|
}]];
|
|
|
[self presentViewController:dropbearRunning animated:YES completion:nil];
|
|
|
+ */
|
|
|
});
|
|
|
} else if (jailbreakstatus == -1) {
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
@@ -645,7 +693,8 @@ void log_message(NSString *message) {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- NSLog(@" ♫ KPP never bothered me anyway... ♫ ");
|
|
|
+ //NSLog(@" ♫ KPP never bothered me anyway... ♫ ");
|
|
|
+ [self writeText:@"\n ♫ KPP never bothered me anyway... ♫ \n"];
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -666,7 +715,7 @@ void log_message(NSString *message) {
|
|
|
- (void)installingNitoTV {
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
//[self.goButton setTitle:@"Installing Cydia" forState:UIControlStateNormal];
|
|
|
- [self writeText:@"Installing nitoTV"];
|
|
|
+ [self writeText:@"Installing nitoTV\n"];
|
|
|
});
|
|
|
}
|
|
|
|