Skip to content

Commit af30810

Browse files
committed
Add target ServiceUpdateMigrator
1 parent 2cb56ab commit af30810

File tree

3 files changed

+44
-4
lines changed

3 files changed

+44
-4
lines changed

Core/Package.resolved

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Core/Package.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,3 +203,4 @@ let package = Package(
203203
]
204204
)
205205

206+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import Foundation
2+
import Preferences
3+
4+
extension UserDefaultPreferenceKeys {
5+
struct OldMigrationVersion: UserDefaultPreferenceKey {
6+
typealias PreferenceValueType = String
7+
static let key = "OldMigrationVersion"
8+
}
9+
10+
var oldMigrationVersion: OldMigrationVersion { .init() }
11+
}
12+
13+
struct ServiceUpdateMigrator {
14+
func migrate() {
15+
migrate(
16+
from: UserDefaults.shared.value(for: \.oldMigrationVersion),
17+
to: Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion")
18+
)
19+
}
20+
21+
func migrate(from oldVersion: String, to currentVersion: String) {
22+
guard let old = Int(oldVersion), let new = Int(currentVersion) else { return }
23+
guard old != new else { return }
24+
if old <= 135 {
25+
migrateFromLowerThanOrEqualToVersion135()
26+
}
27+
}
28+
}
29+
30+
func migrateFromLowerThanOrEqualToVersion135() {}

0 commit comments

Comments
 (0)