Migrates from Core Data model v4 to v5

This commit is contained in:
Riley Testut
2020-03-11 17:29:32 -07:00
parent bc02cfc8a9
commit 800dd79c30
7 changed files with 726 additions and 25 deletions

View File

@@ -57,9 +57,7 @@ extension AppManager
let fetchRequest = InstalledApp.fetchRequest() as NSFetchRequest<InstalledApp>
fetchRequest.returnsObjectsAsFaults = false
var activeAppsCount = 0
do
{
let installedApps = try context.fetch(fetchRequest)
@@ -83,24 +81,11 @@ extension AppManager
}
let uti = UTTypeCopyDeclaration(app.installedAppUTI as CFString)?.takeRetainedValue() as NSDictionary?
guard uti != nil || legacySideloadedApps.contains(app.bundleIdentifier) else {
if uti == nil && !legacySideloadedApps.contains(app.bundleIdentifier)
{
// This UTI is not declared by any apps, which means this app has been deleted by the user.
// This app is also not a legacy sideloaded app, so we can assume it's fine to delete it.
context.delete(app)
continue
}
if app.isActive
{
if let activeAppsLimit = UserDefaults.standard.activeAppsLimit, activeAppsCount >= activeAppsLimit - 1
{
// We have reached active apps limit (excluding AltStore itself), so mark additional active apps as inactive.
app.isActive = false
}
else
{
activeAppsCount += 1
}
}
}