Removes active app extension limits on 13.5 or later

This commit is contained in:
Riley Testut
2020-05-17 23:36:30 -07:00
parent e0dea67380
commit 39b60a07d9
4 changed files with 55 additions and 12 deletions

View File

@@ -122,10 +122,10 @@ class InstallAppOperation: ResultOperation<InstalledApp>
var activeApps = InstalledApp.fetch(fetchRequest, in: backgroundContext)
if !activeApps.contains(installedApp)
{
let availableActiveApps = max(sideloadedAppsLimit - activeApps.count, 0)
let requiredActiveAppSlots = 1 + installedExtensions.count // As of iOS 13.3.1, app extensions count as "apps"
let activeAppsCount = activeApps.map { $0.requiredActiveSlots }.reduce(0, +)
if requiredActiveAppSlots <= availableActiveApps
let availableActiveApps = max(sideloadedAppsLimit - activeAppsCount, 0)
if installedApp.requiredActiveSlots <= availableActiveApps
{
// This app has not been explicitly activated, but there are enough slots available,
// so implicitly activate it.