Browse Source

things we don't need in iVersion!

pull/92/head
Abhishek 5 years ago
parent
commit
74e170ec23
  1. 21
      Clocker/Dependencies/iVersion/iVersion.h
  2. 93
      Clocker/Dependencies/iVersion/iVersion.m

21
Clocker/Dependencies/iVersion/iVersion.h

@ -96,26 +96,6 @@ typedef NS_ENUM(NSInteger, iVersionUpdatePriority)
@end @end
@protocol iVersionDelegate <NSObject>
@optional
@property (NS_NONATOMIC_IOSONLY, readonly) BOOL iVersionShouldCheckForNewVersion;
- (void)iVersionDidNotDetectNewVersion;
- (void)iVersionVersionCheckDidFailWithError:(NSError *)error;
- (void)iVersionDidDetectNewVersion:(NSString *)version details:(NSString *)versionDetails;
- (BOOL)iVersionShouldDisplayNewVersion:(NSString *)version details:(NSString *)versionDetails;
- (BOOL)iVersionShouldDisplayCurrentVersionDetails:(NSString *)versionDetails;
- (void)iVersionUserDidAttemptToDownloadUpdate:(NSString *)version;
- (void)iVersionUserDidRequestReminderForUpdate:(NSString *)version;
- (void)iVersionUserDidIgnoreUpdate:(NSString *)version;
@property (NS_NONATOMIC_IOSONLY, readonly) BOOL iVersionShouldOpenAppStore;
- (void)iVersionDidPresentStoreKitModal;
- (void)iVersionDidDismissStoreKitModal;
@end
@interface iVersion : NSObject @interface iVersion : NSObject
+ (iVersion *)sharedInstance; + (iVersion *)sharedInstance;
@ -162,7 +142,6 @@ typedef NS_ENUM(NSInteger, iVersionUpdatePriority)
@property (nonatomic, strong) NSDate *lastReminded; @property (nonatomic, strong) NSDate *lastReminded;
@property (nonatomic, strong) NSURL *updateURL; @property (nonatomic, strong) NSURL *updateURL;
@property (nonatomic, assign) BOOL viewedVersionDetails; @property (nonatomic, assign) BOOL viewedVersionDetails;
@property (nonatomic, weak_delegate) id<iVersionDelegate> delegate;
//manually control behaviour //manually control behaviour
@property (NS_NONATOMIC_IOSONLY, readonly) BOOL openAppPageInAppStore; @property (NS_NONATOMIC_IOSONLY, readonly) BOOL openAppPageInAppStore;

93
Clocker/Dependencies/iVersion/iVersion.m

@ -198,15 +198,6 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
return self; return self;
} }
- (id<iVersionDelegate>)delegate
{
if (_delegate == nil)
{
_delegate = (id<iVersionDelegate>)[NSApplication sharedApplication].delegate;
}
return _delegate;
}
- (NSString *)inThisVersionTitle - (NSString *)inThisVersionTitle
{ {
return _inThisVersionTitle ?: [self localizedStringForKey:iVersionInThisVersionTitleKey withDefault:@"New in this version"]; return _inThisVersionTitle ?: [self localizedStringForKey:iVersionInThisVersionTitleKey withDefault:@"New in this version"];
@ -433,18 +424,6 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
{ {
NSLog(@"iVersion update check failed because an unknown error occured"); NSLog(@"iVersion update check failed because an unknown error occured");
} }
if ([self.delegate respondsToSelector:@selector(iVersionVersionCheckDidFailWithError:)])
{
[self.delegate iVersionVersionCheckDidFailWithError:self.downloadError];
}
//deprecated code path
else if ([self.delegate respondsToSelector:@selector(iVersionVersionCheckFailed:)])
{
NSLog(@"iVersionVersionCheckFailed: delegate method is deprecated, use iVersionVersionCheckDidFailWithError: instead");
[self.delegate performSelector:@selector(iVersionVersionCheckFailed:) withObject:self.downloadError];
}
return; return;
} }
@ -453,36 +432,8 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
NSString *mostRecentVersion = mostRecentVersionInDict(self.remoteVersionsDict); NSString *mostRecentVersion = mostRecentVersionInDict(self.remoteVersionsDict);
if (details) if (details)
{ {
//inform delegate of new version
if ([self.delegate respondsToSelector:@selector(iVersionDidDetectNewVersion:details:)])
{
[self.delegate iVersionDidDetectNewVersion:mostRecentVersion details:details];
}
//deprecated code path
else if ([self.delegate respondsToSelector:@selector(iVersionDetectedNewVersion:details:)])
{
NSLog(@"iVersionDetectedNewVersion:details: delegate method is deprecated, use iVersionDidDetectNewVersion:details: instead");
[self.delegate performSelector:@selector(iVersionDetectedNewVersion:details:) withObject:mostRecentVersion withObject:details];
}
//check if ignored //check if ignored
BOOL showDetails = ![self.ignoredVersion isEqualToString:mostRecentVersion] || self.previewMode; BOOL showDetails = ![self.ignoredVersion isEqualToString:mostRecentVersion] || self.previewMode;
if (showDetails)
{
if ([self.delegate respondsToSelector:@selector(iVersionShouldDisplayNewVersion:details:)])
{
showDetails = [self.delegate iVersionShouldDisplayNewVersion:mostRecentVersion details:details];
if (!showDetails && self.verboseLogging)
{
NSLog(@"iVersion did not display the new version because the iVersionShouldDisplayNewVersion:details: delegate method returned NO");
}
}
}
else if (self.verboseLogging)
{
NSLog(@"iVersion did not display the new version because it was marked as ignored");
}
//show details //show details
if (showDetails && !self.visibleRemoteAlert) if (showDetails && !self.visibleRemoteAlert)
@ -500,10 +451,6 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
remindButton:[self showRemindButton]? self.remindButtonLabel: nil]; remindButton:[self showRemindButton]? self.remindButtonLabel: nil];
} }
} }
else if ([self.delegate respondsToSelector:@selector(iVersionDidNotDetectNewVersion)])
{
[self.delegate iVersionDidNotDetectNewVersion];
}
} }
} }
@ -541,17 +488,6 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
NSLog(@"iVersion debug mode is enabled - make sure you disable this for release"); NSLog(@"iVersion debug mode is enabled - make sure you disable this for release");
} }
//confirm with delegate
if ([self.delegate respondsToSelector:@selector(iVersionShouldCheckForNewVersion)])
{
BOOL shouldCheck = [self.delegate iVersionShouldCheckForNewVersion];
if (!shouldCheck && self.verboseLogging)
{
NSLog(@"iVersion did not check for a new version because the iVersionShouldCheckForNewVersion delegate method returned NO");
}
return shouldCheck;
}
//perform the check //perform the check
return YES; return YES;
} }
@ -767,10 +703,6 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
//get version details //get version details
BOOL showDetails = !!self.versionDetails; BOOL showDetails = !!self.versionDetails;
if (showDetails && [self.delegate respondsToSelector:@selector(iVersionShouldDisplayCurrentVersionDetails:)])
{
showDetails = [self.delegate iVersionShouldDisplayCurrentVersionDetails:self.versionDetails];
}
//show details //show details
if (showDetails && !self.visibleLocalAlert && !self.visibleRemoteAlert) if (showDetails && !self.visibleLocalAlert && !self.visibleRemoteAlert)
@ -889,42 +821,17 @@ static NSString *mostRecentVersionInDict(NSDictionary *dictionary)
{ {
//clear reminder //clear reminder
self.lastReminded = nil; self.lastReminded = nil;
//log event
if ([self.delegate respondsToSelector:@selector(iVersionUserDidAttemptToDownloadUpdate:)])
{
[self.delegate iVersionUserDidAttemptToDownloadUpdate:latestVersion];
}
if (![self.delegate respondsToSelector:@selector(iVersionShouldOpenAppStore)] ||
[self.delegate iVersionShouldOpenAppStore])
{
//go to download page
[self openAppPageInAppStore];
}
} }
else if (buttonIndex == ignoreButtonIndex) else if (buttonIndex == ignoreButtonIndex)
{ {
//ignore this version //ignore this version
self.ignoredVersion = latestVersion; self.ignoredVersion = latestVersion;
self.lastReminded = nil; self.lastReminded = nil;
//log event
if ([self.delegate respondsToSelector:@selector(iVersionUserDidIgnoreUpdate:)])
{
[self.delegate iVersionUserDidIgnoreUpdate:latestVersion];
}
} }
else if (buttonIndex == remindButtonIndex) else if (buttonIndex == remindButtonIndex)
{ {
//remind later //remind later
self.lastReminded = [NSDate date]; self.lastReminded = [NSDate date];
//log event
if ([self.delegate respondsToSelector:@selector(iVersionUserDidRequestReminderForUpdate:)])
{
[self.delegate iVersionUserDidRequestReminderForUpdate:latestVersion];
}
} }
//release alert //release alert

Loading…
Cancel
Save