feat: Store lastLocation in appGroup instead of app user defaults
This commit is contained in:
@@ -62,4 +62,5 @@ extension UserDefaults {
|
||||
|
||||
// Migrazioni
|
||||
static let AppMigrationV5_3 = "EQNUserDefaultMigrationV5_3"
|
||||
static let AppMigrationV5_4 = "EQNUserDefaultMigrationV5_4"
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class EQNUserDefaultsCommand: EQNCommandProtocol {
|
||||
saveMissingValues()
|
||||
|
||||
migrationV5_3()
|
||||
migrationV5_4()
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
@@ -60,4 +61,21 @@ public class EQNUserDefaultsCommand: EQNCommandProtocol {
|
||||
|
||||
UserDefaults.standard.set(true, forKey: UserDefaults.AppMigrationV5_3)
|
||||
}
|
||||
|
||||
private func migrationV5_4() {
|
||||
let migrationPerformed = UserDefaults.standard.bool(forKey: UserDefaults.AppMigrationV5_4)
|
||||
if migrationPerformed {
|
||||
print("[EQNUserDefaultsCommand] Migration v5.4 already performed")
|
||||
return
|
||||
}
|
||||
|
||||
// migriamo l'ultima posizione negli user defaults condivisi
|
||||
let userDefaults = UserDefaults.standard
|
||||
let groupUserDefaults = UserDefaults.appGroup
|
||||
if let encodedLocation = userDefaults.object(forKey: UserDefaults.UserDataLastLocation) as? Data {
|
||||
groupUserDefaults?.set(encodedLocation, forKey: UserDefaults.UserDataLastLocation)
|
||||
}
|
||||
|
||||
userDefaults.set(true, forKey: UserDefaults.AppMigrationV5_4)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ import CoreLocation
|
||||
|
||||
@objc
|
||||
var lastLocation: CLLocation? {
|
||||
guard let encodedLocation = UserDefaults.standard.object(forKey: UserDefaults.UserDataLastLocation) as? Data else {
|
||||
guard let encodedLocation = UserDefaults.appGroup?.object(forKey: UserDefaults.UserDataLastLocation) as? Data else {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ import CoreLocation
|
||||
guard let encodedLocation = try? NSKeyedArchiver.archivedData(withRootObject: location, requiringSecureCoding: false) else {
|
||||
return
|
||||
}
|
||||
UserDefaults.standard.set(encodedLocation, forKey: UserDefaults.UserDataLastLocation)
|
||||
UserDefaults.appGroup?.set(encodedLocation, forKey: UserDefaults.UserDataLastLocation)
|
||||
}
|
||||
|
||||
// MARK: - Seismic Networks
|
||||
@@ -102,6 +102,6 @@ import CoreLocation
|
||||
func removeAllData() {
|
||||
UserDefaults.standard.removeObject(forKey: UserDefaults.UserDataFirebaseToken)
|
||||
UserDefaults.standard.removeObject(forKey: UserDefaults.UserDataUserId)
|
||||
UserDefaults.standard.removeObject(forKey: UserDefaults.UserDataLastLocation)
|
||||
UserDefaults.appGroup?.removeObject(forKey: UserDefaults.UserDataLastLocation)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user