diff --git a/AltStoreCore/Model/InstalledApp.swift b/AltStoreCore/Model/InstalledApp.swift index 14b3ba48..e221bfe0 100644 --- a/AltStoreCore/Model/InstalledApp.swift +++ b/AltStoreCore/Model/InstalledApp.swift @@ -185,7 +185,7 @@ public extension InstalledApp fetchRequest.predicate = NSPredicate(format: "%K == YES AND %K != nil AND %K != %K", #keyPath(InstalledApp.isActive), #keyPath(InstalledApp.storeApp), - #keyPath(InstalledApp.version), #keyPath(InstalledApp.storeApp.latestVersionString)) + #keyPath(InstalledApp.version), #keyPath(InstalledApp.storeApp._version)) return fetchRequest } diff --git a/AltStoreCore/Model/Migrations/Policies/StoreApp10ToStoreApp11Policy.swift b/AltStoreCore/Model/Migrations/Policies/StoreApp10ToStoreApp11Policy.swift index aba473f8..7ca75c60 100644 --- a/AltStoreCore/Model/Migrations/Policies/StoreApp10ToStoreApp11Policy.swift +++ b/AltStoreCore/Model/Migrations/Policies/StoreApp10ToStoreApp11Policy.swift @@ -22,7 +22,7 @@ fileprivate extension NSManagedObject } var storeAppVersion: String? { - let version = self.value(forKey: #keyPath(StoreApp.latestVersionString)) as? String + let version = self.value(forKey: #keyPath(StoreApp._version)) as? String return version } diff --git a/AltStoreCore/Model/StoreApp.swift b/AltStoreCore/Model/StoreApp.swift index df12043a..53252b22 100644 --- a/AltStoreCore/Model/StoreApp.swift +++ b/AltStoreCore/Model/StoreApp.swift @@ -40,14 +40,12 @@ public class StoreApp: NSManagedObject, Decodable, Fetchable @NSManaged public private(set) var iconURL: URL @NSManaged public private(set) var screenshotURLs: [URL] - @NSManaged @objc(version) public private(set) var latestVersionString: String - @NSManaged @objc(versionDate) internal private(set) var _versionDate: Date - @NSManaged @objc(versionDescription) internal private(set) var _versionDescription: String? - @NSManaged @objc(downloadURL) internal var _downloadURL: URL @NSManaged public private(set) var tintColor: UIColor? @NSManaged public private(set) var isBeta: Bool + @NSManaged public var sortIndex: Int32 + @objc public internal(set) var sourceIdentifier: String? { get { self.willAccessValue(forKey: #keyPath(sourceIdentifier)) @@ -69,7 +67,10 @@ public class StoreApp: NSManagedObject, Decodable, Fetchable } @NSManaged private var primitiveSourceIdentifier: String? - @NSManaged public var sortIndex: Int32 + // Legacy (kept for backwards compatibility) + @NSManaged @objc(version) internal private(set) var _version: String + @NSManaged @objc(versionDate) internal private(set) var _versionDate: Date + @NSManaged @objc(versionDescription) internal private(set) var _versionDescription: String? /* Relationships */ @NSManaged public var installedApp: InstalledApp? @@ -233,7 +234,7 @@ internal extension StoreApp } // Preserve backwards compatibility by assigning legacy property values. - self.latestVersionString = latestVersion.version + self._version = latestVersion.version self._versionDate = latestVersion.date self._versionDescription = latestVersion.localizedDescription self._downloadURL = latestVersion.downloadURL