If a version is chosen to be ignored or shown, never show this version again

This commit is contained in:
Andreas Linde 2013-03-18 00:17:36 +01:00 committed by Stephan Diederich
parent 4de8c898be
commit 03a6dbb999
2 changed files with 13 additions and 2 deletions

View File

@ -160,8 +160,15 @@
_newStoreVersion = [(NSDictionary *)[(NSArray *)[dictionary objectForKey:@"results"] objectAtIndex:0] objectForKey:@"version"];
_appStoreURL = [(NSDictionary *)[(NSArray *)[dictionary objectForKey:@"results"] objectAtIndex:0] objectForKey:@"trackViewUrl"];
NSString *ignoredVersion = nil;
if ([self.userDefaults objectForKey:kBITStoreUpdateIgnoreVersion]) {
ignoredVersion = [self.userDefaults objectForKey:kBITStoreUpdateIgnoreVersion];
}
if (!_newStoreVersion || !_appStoreURL) {
return NO;
} else if (ignoredVersion && [ignoredVersion isEqualToString:_newStoreVersion]) {
return NO;
} else if (!lastStoreVersion) {
// this is the very first time we get a valid response and
// set the reference of the store result to be equal to the current installed version
@ -355,7 +362,6 @@
cancelButtonTitle:BITHockeyLocalizedString(@"UpdateIgnore")
otherButtonTitles:BITHockeyLocalizedString(@"UpdateRemindMe"), BITHockeyLocalizedString(@"UpdateShow"), nil
];
[alertView setTag:0];
[alertView show];
_updateAlertShowing = YES;
}
@ -380,12 +386,16 @@
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
_updateAlertShowing = NO;
if (buttonIndex == [alertView cancelButtonIndex]) {
[self.userDefaults setObject:self.lastCheck forKey:kBITStoreUpdateDateOfLastCheck];
// Ignore
[self.userDefaults setObject:_newStoreVersion forKey:kBITStoreUpdateIgnoreVersion];
[self.userDefaults synchronize];
} else if (buttonIndex == [alertView firstOtherButtonIndex]) {
// Remind button
} else if (buttonIndex == [alertView firstOtherButtonIndex] + 1) {
// Show button
[self.userDefaults setObject:_newStoreVersion forKey:kBITStoreUpdateIgnoreVersion];
[self.userDefaults synchronize];
if (_appStoreURL) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:_appStoreURL]];
}

View File

@ -55,6 +55,7 @@
#define kBITStoreUpdateDateOfLastCheck @"BITStoreUpdateDateOfLastCheck"
#define kBITStoreUpdateLastStoreVersion @"BITStoreUpdateLastStoreVersion"
#define kBITStoreUpdateLastUUID @"BITStoreUpdateLastUUID"
#define kBITStoreUpdateIgnoreVersion @"BITStoreUpdateIgnoredVersion"
#define BITHOCKEYSDK_BUNDLE @"HockeySDKResources.bundle"
#define BITHOCKEYSDK_URL @"https://sdk.hockeyapp.net/"