mirror of
https://github.com/PlayCover/PlayCover.git
synced 2026-04-25 15:55:54 +03:00
[PR #588] [CLOSED] Fancy IPA Library + New Downloader + New Cache System #1669
Labels
No labels
UI
app-support
bug
bug
documentation
duplicate
enhancement
game-support
good first issue
help wanted / caution
inactive
invalid
macos-beta
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/PlayCover#1669
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/PlayCover/PlayCover/pull/588
Author: @amirsaam
Created: 12/17/2022
Status: ❌ Closed
Base:
develop← Head:Fancy-IPA-Library📝 Commits (10+)
1f757e3Feat: Fancy IPA Library2da09e7Locale + Minor Fixes7635b30no more func in func31984a0ZStack -> Group IPALibraryViewd34ad99DownloadApp Class30e747dMerge branch 'develop' into Fancy-IPA-Libraryb430c8bVisual Improvement86397a0Update StoreAppView.swift5371026revert accidentally pushed signing changesd0c161eremove unnecessary selves📊 Changes
17 files changed (+967 additions, -466 deletions)
View changed files
📝
PlayCover.xcodeproj/project.pbxproj(+76 -13)➕
PlayCover/AppInstaller/Downloader.swift(+127 -0)📝
PlayCover/Model/ITunesResponse.swift(+20 -2)➕
PlayCover/Utils/Cacher.swift(+85 -0)➖
PlayCover/Utils/ImageCache.swift(+0 -166)➕
PlayCover/Utils/ViewExtenstions.swift(+56 -0)📝
PlayCover/ViewModel/StoreVM.swift(+1 -1)📝
PlayCover/ViewModel/ToastVM.swift(+1 -0)➕
PlayCover/Views/App Views/DetailStoreAppView.swift(+300 -0)📝
PlayCover/Views/App Views/PlayAppView.swift(+28 -26)📝
PlayCover/Views/App Views/StoreAppView.swift(+73 -116)📝
PlayCover/Views/AppSettingsView.swift(+14 -12)📝
PlayCover/Views/MenuBarView.swift(+13 -1)📝
PlayCover/Views/Sidebar Views/IPALibraryView.swift(+108 -84)📝
PlayCover/Views/ToastView.swift(+45 -43)📝
PlayCover/en.lproj/Localizable.strings(+17 -2)📝
README.md(+3 -0)📄 Description
Co-Authored-By: Isaac Marovitz 42140194+IsaacMarovitz@users.noreply.github.com
This PR introduces several changes:
StackNavigationViewview extension has been introduced inViewExtenstions.swiftthat is similar toNavigationStackon macOS 13 but supports macOS 12, so DetailedView is accessible in macOS 12 with same code. This extension can be used in any other views as you may want like creating App Folders in App Library or Source Folders in IPA LibraryDownloadAppclass has been introduced inDownloader.swiftexplained hereGet: If the user hasn't installed that app/game yet on their PlayCoverReinstall: If the user already has the same version of the app installed in their PlayCoverUpdate: If user has older version compared to what they are viewing installed in their PlayCoverDowngrade: If user has newer version compared to what they are viewing installed in their PlayCoverNote: This version compare is using same logic and function of what @TheMoonThatRises has introduced into PlayCover in previously merged PRs.
ToastVM.shared.isShownboolean, it will no longer be shown when downloading or installing an app while user is in that app's DetailedViewNote: If you navigate to other apps DetailedView you'll still see the 4 type of download texts but they are disabled, no matter what in any DetailedView while app is being installed, that button is disabled.
Cacherclass has been introduced inCacher.swiftthat usesDataCachepackage, removedImageCacheclass and rewrote the logic.CachedAsyncImagepackage that usesURLCacheas memoryThis library in future PlayCover development can be used to shown extra details that can be provided by sources like a stat badge like file size that shows if the app should have PlayTools or not or it just works in SIP disabled environment or not
Overall the general point is, current IPA Library interface has no room for improvement and showing details that user need to be notified about apps in sources.
Demo: this comment
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.