diff --git a/Classes/BITUpdateManager.m b/Classes/BITUpdateManager.m index 5332f1d227..6deabd1640 100644 --- a/Classes/BITUpdateManager.m +++ b/Classes/BITUpdateManager.m @@ -513,7 +513,12 @@ typedef NS_ENUM(NSInteger, BITUpdateAlertViewTag) { if ([self isPreiOS7Environment]) self.barStyle = UIBarStyleBlack; - [self showView:[self hockeyViewController:YES]]; + + BITUpdateViewController *updateViewController = [self hockeyViewController:YES]; + if ([self hasNewerMandatoryVersion]) { + [updateViewController setMandatoryUpdate: YES]; + } + [self showView:updateViewController]; } @@ -527,7 +532,7 @@ typedef NS_ENUM(NSInteger, BITUpdateAlertViewTag) { message:[NSString stringWithFormat:BITHockeyLocalizedString(@"UpdateAlertMandatoryTextWithAppVersion"), [self.newestAppVersion nameAndVersionString]] delegate:self cancelButtonTitle:BITHockeyLocalizedString(@"UpdateInstall") - otherButtonTitles:nil + otherButtonTitles:BITHockeyLocalizedString(@"UpdateShow"), nil ]; [alertView setTag:BITUpdateAlertViewTagMandatoryUpdate]; [alertView show]; @@ -1015,11 +1020,7 @@ typedef NS_ENUM(NSInteger, BITUpdateAlertViewTag) { // invoke the selected action from the action sheet for a location element - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { - if ([alertView tag] == BITUpdateAlertViewTagMandatoryUpdate) { - (void)[self initiateAppDownload]; - _updateAlertShowing = NO; - return; - } else if ([alertView tag] == BITUpdateAlertViewTagNeverEndingAlertView) { + if ([alertView tag] == BITUpdateAlertViewTagNeverEndingAlertView) { [self alertFallback:[alertView message]]; return; } diff --git a/Classes/BITUpdateViewController.m b/Classes/BITUpdateViewController.m index 1f0968e5e2..c154247c3e 100644 --- a/Classes/BITUpdateViewController.m +++ b/Classes/BITUpdateViewController.m @@ -364,8 +364,11 @@ } - (void)viewWillAppear:(BOOL)animated { - if (_isAppStoreEnvironment) + if (_isAppStoreEnvironment) { self.appStoreButtonState = AppStoreButtonStateOffline; + } else if (self.mandatoryUpdate) { + self.navigationItem.leftBarButtonItem = nil; + } _updateManager.currentHockeyViewController = self; [super viewWillAppear:animated]; [self redrawTableView]; diff --git a/Classes/BITUpdateViewControllerPrivate.h b/Classes/BITUpdateViewControllerPrivate.h index 26b07244dd..1a078456c7 100644 --- a/Classes/BITUpdateViewControllerPrivate.h +++ b/Classes/BITUpdateViewControllerPrivate.h @@ -69,7 +69,8 @@ typedef NS_ENUM(NSUInteger, AppStoreButtonState) { } @property (nonatomic, weak) BITUpdateManager *updateManager; -@property (nonatomic, readwrite) BOOL modal; + +@property (nonatomic, readwrite) BOOL mandatoryUpdate; @property (nonatomic, assign) AppStoreButtonState appStoreButtonState;