diff --git a/AltStore/App Detail/AppViewController.swift b/AltStore/App Detail/AppViewController.swift index 27c9dbee..da740083 100644 --- a/AltStore/App Detail/AppViewController.swift +++ b/AltStore/App Detail/AppViewController.swift @@ -348,7 +348,7 @@ private extension AppViewController { var buttonAction: AppBannerView.AppAction? - if let installedApp = self.app.installedApp, let latestVersion = self.app.latestAvailableVersion, !installedApp.matches(latestVersion) + if let installedApp = self.app.installedApp, let latestVersion = self.app.latestAvailableVersion, !installedApp.matches(latestVersion), !self.app.isPledgeRequired || self.app.isPledged { // Explicitly set button action to .update if there is an update available, even if it's not supported. buttonAction = .update @@ -492,7 +492,7 @@ extension AppViewController { if let installedApp = self.app.installedApp { - if let latestVersion = self.app.latestAvailableVersion, !installedApp.matches(latestVersion) + if let latestVersion = self.app.latestAvailableVersion, !installedApp.matches(latestVersion), !self.app.isPledgeRequired || self.app.isPledged { self.updateApp(installedApp, to: latestVersion) } diff --git a/AltStore/Components/AppBannerView.swift b/AltStore/Components/AppBannerView.swift index 6ddeb72a..4cbe3632 100644 --- a/AltStore/Components/AppBannerView.swift +++ b/AltStore/Components/AppBannerView.swift @@ -182,7 +182,7 @@ extension AppBannerView { // App is installed - if installedApp.isUpdateAvailable + if installedApp.isUpdateAvailable && (!storeApp.isPledgeRequired || storeApp.isPledged) { buttonAction = .update }