@@ -10,7 +10,8 @@ @implementation SSYAppInfo
10
10
+ (SSYAppInfo*)sharedInfo {
11
11
@synchronized (self) {
12
12
if (sharedInfo == nil ) {
13
- sharedInfo = [[self alloc ] init ] ;
13
+ sharedInfo = [[self alloc ] init ] ;
14
+ [sharedInfo setUpgradeState: SSYNotDefined] ;
14
15
}
15
16
}
16
17
return sharedInfo ;
@@ -76,31 +77,26 @@ + (SSYVersionTriplet*)rawCurrentVersionTriplet {
76
77
return cvt ;
77
78
}
78
79
79
-
80
- - (id )init {
81
- self = [super init ] ;
82
- if (self != nil ) {
83
- SSYVersionTriplet* previousVersionTriplet = [SSYAppInfo rawPreviousVersionTriplet ] ;
84
- [self setPreviousVersionTriplet: previousVersionTriplet] ;
85
- [self setCurrentVersionTriplet: [SSYAppInfo rawCurrentVersionTriplet ]] ;
86
- enum SSYAppInfoUpgradeState upgradeState = [SSYAppInfo upgradeStateForCurrentVersionTriplet: [self currentVersionTriplet ]
87
- previousVersionTriplet: [self previousVersionTriplet ]] ;
88
- [self setUpgradeState: upgradeState] ;
89
- if ([self upgradeState ] != SSYCurrentRev) {
90
- // Get a nice, clean, filtered versionString of the form "major.minor.bugFix" using SSVersionTriplet methods
91
- SSYVersionTriplet* currentVersionTriplet = [SSYVersionTriplet versionTripletFromBundleIdentifier: [[NSBundle mainBundle ] bundleIdentifier ]] ;
92
- NSString * currentVersionString = [currentVersionTriplet string ] ;
93
-
94
- // Record currently-launched version into prefs
95
- // Note that this must be done AFTER the above reading,
96
- // or else the pref constKeyLastVersion will be written as the previous version!
97
- NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults ] ;
98
- [userDefaults setObject: currentVersionString
99
- forKey: constKeyLastVersion] ;
100
- [userDefaults synchronize ] ;
101
- }
102
- }
103
- return self;
80
+ - (void )calculateUpgradeState {
81
+ SSYVersionTriplet* previousVersionTriplet = [SSYAppInfo rawPreviousVersionTriplet ] ;
82
+ [self setPreviousVersionTriplet: previousVersionTriplet] ;
83
+ [self setCurrentVersionTriplet: [SSYAppInfo rawCurrentVersionTriplet ]] ;
84
+ enum SSYAppInfoUpgradeState upgradeState = [SSYAppInfo upgradeStateForCurrentVersionTriplet: [self currentVersionTriplet ]
85
+ previousVersionTriplet: [self previousVersionTriplet ]] ;
86
+ [self setUpgradeState: upgradeState] ;
87
+ if ([self upgradeState ] != SSYCurrentRev) {
88
+ // Get a nice, clean, filtered versionString of the form "major.minor.bugFix" using SSVersionTriplet methods
89
+ SSYVersionTriplet* currentVersionTriplet = [SSYVersionTriplet versionTripletFromBundleIdentifier: [[NSBundle mainBundle ] bundleIdentifier ]] ;
90
+ NSString * currentVersionString = [currentVersionTriplet string ] ;
91
+
92
+ // Record currently-launched version into prefs
93
+ // Note that this must be done AFTER the above reading,
94
+ // or else the pref constKeyLastVersion will be written as the previous version!
95
+ NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults ] ;
96
+ [userDefaults setObject: currentVersionString
97
+ forKey: constKeyLastVersion] ;
98
+ [userDefaults synchronize ] ;
99
+ }
104
100
}
105
101
106
102
@@ -122,5 +118,9 @@ + (SSYVersionTriplet*)previousVersionTriplet {
122
118
return [[self sharedInfo ] previousVersionTriplet ] ;
123
119
}
124
120
121
+ + (void )calculateUpgradeState {
122
+ [[self sharedInfo ] calculateUpgradeState ] ;
123
+ }
124
+
125
125
126
126
@end
0 commit comments