From d7bbf78b6bcd4b5643547b2adda2c7dfee4c31a6 Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Tue, 30 May 2023 15:28:26 -0500 Subject: [PATCH] [AltStoreCore] Fixes incorrectly merging permissions for same app from different sources --- .../AltStore.xcdatamodeld/AltStore 13.xcdatamodel/contents | 4 +++- AltStoreCore/Model/AppPermission.swift | 3 ++- AltStoreCore/Model/StoreApp.swift | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/AltStoreCore/Model/AltStore.xcdatamodeld/AltStore 13.xcdatamodel/contents b/AltStoreCore/Model/AltStore.xcdatamodeld/AltStore 13.xcdatamodel/contents index e99bcc3e..a1866d15 100644 --- a/AltStoreCore/Model/AltStore.xcdatamodeld/AltStore 13.xcdatamodel/contents +++ b/AltStoreCore/Model/AltStore.xcdatamodeld/AltStore 13.xcdatamodel/contents @@ -27,8 +27,9 @@ - + + @@ -37,6 +38,7 @@ + diff --git a/AltStoreCore/Model/AppPermission.swift b/AltStoreCore/Model/AppPermission.swift index 6b220351..8c72efe0 100644 --- a/AltStoreCore/Model/AppPermission.swift +++ b/AltStoreCore/Model/AppPermission.swift @@ -36,7 +36,8 @@ public class AppPermission: NSManagedObject, Decodable, Fetchable @NSManaged @objc(permission) private var _permission: String // Set by StoreApp. - @NSManaged public var appBundleID: String? + @NSManaged public var appBundleID: String + @NSManaged public var sourceID: String /* Relationships */ @NSManaged public internal(set) var app: StoreApp? diff --git a/AltStoreCore/Model/StoreApp.swift b/AltStoreCore/Model/StoreApp.swift index 3251f0d8..92c1f4d8 100644 --- a/AltStoreCore/Model/StoreApp.swift +++ b/AltStoreCore/Model/StoreApp.swift @@ -69,6 +69,11 @@ public class StoreApp: NSManagedObject, Decodable, Fetchable { version.sourceID = newValue } + + for permission in self.permissions + { + permission.sourceID = self.sourceIdentifier ?? "" + } } } @NSManaged private var primitiveSourceIdentifier: String?