Commit Graph

320 Commits

Author SHA1 Message Date
Riley Testut
623ec97684 Supports joining Patreon via web view + downloading app in single flow
Asks user to connect Patreon account if they are signed-in inside WebViewController but not in AltStore settings.
2023-12-08 15:25:01 -06:00
Riley Testut
3be4863ec2 Completely redesigns Browse tab with FeaturedViewController 2023-12-08 15:15:10 -06:00
Riley Testut
2681cc3a8e [AltStoreCore] Adds StoreApp.category + StoreCategory enum 2023-12-08 14:04:36 -06:00
Riley Testut
f9ab215560 Allows changing BrowseViewController sort order 2023-12-08 14:04:36 -06:00
Riley Testut
ff8cd234c1 Asks user to review permissions when installing/updating apps
When installing, all entitlements will be shown. When updating, only _added_ entitlements will be shown.
2023-12-08 14:04:35 -06:00
Riley Testut
090ab36ff3 Merge branch 'patreon' 2023-12-01 17:20:24 -06:00
Riley Testut
bd0220ea35 Supports downloading apps from locked Patreon posts
Uses cached Patreon session cookies to access post attachments despite no official API support.
2023-12-01 16:50:48 -06:00
Riley Testut
5cb283dc95 [AltStoreCore] Caches Patreon session cookies from in-app browser
Allows us to download apps from locked Patreon posts.
2023-12-01 16:49:56 -06:00
Riley Testut
d59ced9208 [AltStoreCore] Adds Pledge, PledgeReward, and PledgeTier
Allows us to cache pledges for current user, which can be used to determine if user has access to Patreon-only apps.
2023-12-01 16:49:56 -06:00
Riley Testut
7ed2dc8291 [AltStoreCore] Refactors PatreonAPI to reduce duplicate logic 2023-12-01 16:49:56 -06:00
Riley Testut
f84b7a8906 [AltJIT] Updates version to 1.0.1 (2) 2023-11-30 14:10:25 -06:00
Riley Testut
f88715f89d [AltServer] Updates app version to 1.7.1 (81) 2023-11-29 14:06:40 -06:00
Riley Testut
c04d63ba9d [AltStoreCore] Generalizes Source.sourceID(from:) logic into URL.normalized()
Allows comparing URLs that may have slight (but irrelevant) differences (e.g. trailing slashes).
2023-11-15 13:20:50 -06:00
Riley Testut
7d7e098ef5 Updates build version to 17 2023-10-23 16:17:42 -05:00
Riley Testut
2c4900925f Updates app version to 2.0b5 (16) 2023-10-19 18:56:19 -05:00
Riley Testut
d2c66d4f3b [AltStoreCore] Migrates Core Data model from v13 to v14 2023-10-19 18:38:30 -05:00
Riley Testut
a6bc4b5d5f Merge branch 'revised_source_json'
# Conflicts:
#	AltStore.xcodeproj/project.pbxproj
#	AltStore/App Detail/AppContentViewController.swift
#	AltStore/App Detail/AppViewController.swift
#	AltStore/Base.lproj/Main.storyboard
#	AltStoreCore/Model/DatabaseManager.swift
2023-10-19 16:43:50 -05:00
Riley Testut
2822c52f11 Replaces BrowseCollectionViewCell with AppCardCollectionViewCell
* Handles dynamic screenshot sizes
* Allows swiping through screenshots
* Supports iPhone + iPad screenshots
2023-10-19 16:24:56 -05:00
Riley Testut
cd67222237 Supports both iPhone + iPad screenshots
Prefers showing screenshots for current device, but falls back to all screenshots if there are no relevant ones.
2023-10-19 16:24:56 -05:00
Riley Testut
20417f39ba Supports viewing full screen app screenshots from AppViewController
[Missed] Uses layout config for PreviewAppScreenshots
2023-10-19 16:24:56 -05:00
Riley Testut
3656bf165b Merge branch 'sources_tab'
# Conflicts:
#	AltStore.xcodeproj/project.pbxproj
2023-10-19 14:18:43 -05:00
Riley Testut
df2a8f2b93 Merge branch 'logging' 2023-10-19 14:16:50 -05:00
Riley Testut
deb9cfa230 Fixes misplaced PRODUCT_BUNDLE_IDENTIFIER entry in Xcode project 2023-10-19 12:40:12 -05:00
Riley Testut
3cc991b476 [Apps] Moves source JSON files to separate repo 2023-10-19 12:38:52 -05:00
Riley Testut
0659d83afb Adds AddSourceViewController to add sources by URL or from list of recommended sources 2023-10-18 18:56:40 -05:00
Riley Testut
2133b6240d Logs sideloading-related events with OSLog 2023-10-18 14:28:17 -05:00
Riley Testut
1b56ac708f Refactors SourceViewController into dedicated tab
* Updates UI to use source icons + tint colors
* Adds Edit button + swipe actions
2023-10-17 14:49:13 -05:00
Riley Testut
ff46fb38b9 [AltStoreCore] Adds Source.isRecommended
Also replaces legacy “Trusted Sources” references with “Recommended Sources”
2023-10-16 18:26:59 -05:00
Riley Testut
24334f88ce [AltStoreCore] Updates DatabaseManager to support #Preview macro
Synchronously loads database via startForPreview(), and also erases database for DEBUG builds.

# Conflicts:
#	AltStore.xcodeproj/project.pbxproj
2023-10-16 16:56:51 -05:00
Riley Testut
50515382d0 Accurately displays dynamically-sized screenshots in AppViewController 2023-10-11 18:13:01 -05:00
Riley Testut
03fad2f202 [AltStoreCore] Updates DatabaseManager to support #Preview macro
Synchronously loads database via startForPreview(), and also erases database for DEBUG builds.
2023-10-11 18:02:12 -05:00
Riley Testut
26a05d323f [AltStoreCore] Adds AppScreenshot to support dynamically-sized screenshots
Preserves StoreApp.imageURL field in database model for backwards compatibility.
2023-10-11 15:05:27 -05:00
Riley Testut
7c9de40d25 [AltStoreCore] Generates Source.identifier from sourceURL 2023-10-10 17:39:20 -05:00
Riley Testut
990abb3162 [AltStoreCore] Fixes ALTAppPrivacyPermission.synthesizedName for legacy permissions 2023-10-10 15:29:34 -05:00
Riley Testut
d0eb2f2b0a Revises appPermissions JSON format
• Split into `entitlements` and `privacy` sections
• `entitlements` is an array of entitlement keys
• `privacy` is a dictionary mapping UsageDescription keys to their descriptions
2023-10-10 14:47:00 -05:00
Riley Testut
0d070e588e Updates app version to 2.0b4 (12) 2023-09-14 13:57:11 -05:00
Riley Testut
afde3b0bf8 [AltServer] Updates app version to 1.7 (78) 2023-09-14 13:54:52 -05:00
Riley Testut
c94677a70b [AltServer] Updates app version to 1.7rc (77) 2023-09-14 13:54:52 -05:00
Riley Testut
1202a2b7c0 [AltServer] Moves AnisetteDataManager to “Anisette Data” group 2023-09-13 15:36:41 -05:00
Riley Testut
cad9f90691 [AltServer] Fetches anisette data without Mail plug-in
Works on all macOS versions supported by AltServer.
2023-09-13 15:24:29 -05:00
Riley Testut
8a8c65b218 Updates app version to 2.0b3 2023-09-11 12:09:54 -05:00
Riley Testut
1a4b2fd74e [AltServer] Updates app version to 1.7b1 2023-09-08 15:15:02 -05:00
Riley Testut
8935f9ee2d [AltJIT] Changes AltSign-Dynamic to not be embedded
Fixes “Cycle in dependencies” compiler error when archiving AltServer.
2023-09-08 15:14:13 -05:00
Riley Testut
96ad129b00 [AltServer] Fixes exporting AltServer as generic Xcode archive 2023-09-08 14:53:32 -05:00
Riley Testut
61f2347ece [AltJIT] Fixes “AltSign-Dynamic not found” runtime error at launch 2023-09-08 14:19:48 -05:00
Riley Testut
dd761daed6 [AltServer] Supports enabling JIT on devices running iOS 17
AltServer embeds the AltJIT CLI tool in its app bundle and runs it as an admin subprocess.
2023-09-08 14:15:55 -05:00
Riley Testut
1f499e77d3 [AltJIT] Removes unnecessary ALTErrorKeys.h/.m
Was originally added because AltJIT couldn’t link with AltSign, which is not true anymore.
2023-09-08 13:47:07 -05:00
Riley Testut
d846445448 [AltJIT] Adds AltJIT CLI tool to enable JIT on devices running iOS 17+
Commands:

altjit enable [app/pid] --udid [udid]
* Enables JIT for given app/process

altjit mount --udid [udid]
* Mounts personalized developer disk
2023-09-07 18:02:29 -05:00
Riley Testut
ce3b032dc1 [AltWidget] Refactors previous widgets to use AppsTimelineProvider 2023-09-05 13:12:30 -05:00
Riley Testut
21c2f8d5ce [AltWidget] Adds interactive Active Apps widget to view + refresh all active apps (iOS 17+) 2023-09-05 13:11:21 -05:00