passepartout-apple/Passepartout/Library/Sources/CommonLibrary/IAP
Davide d3e344670b
Resolve excessive profile reloads (#883)
Optimize ProfileManager in several ways:

- Refine control over objectWillChange
- Observe search separately
- Store subscriptions separately (local, remote, search)
- Fix multiple local updates on save/remove/foreground (updating
allProfiles manually)
- Update the library with more optimized NE reloads
- Cancel pending remote import before a new one
- Yield 100ms between imports
- Reorganize code

Extras:

- Only use background context in provider repositories
- Externalize tunnel receipt URL, do not hardcode BundleConfiguration
- Improve some logging

Self-reminder: NEVER use a Core Data background context to observe
changes in CloudKit containers. They just won't be notified (e.g. in
NSFetchedResultsController).

Fixes #857
2024-11-17 11:34:43 +01:00
..
AppFeature.swift Exclude interactive login from v2 (#852) 2024-11-11 20:10:27 +01:00
AppFeatureProviding.swift Exclude interactive login from v2 (#852) 2024-11-11 20:10:27 +01:00
AppProduct.swift Implement some CustomDebugStringConvertible 2024-11-11 19:45:56 +01:00
AppProduct+Donations.swift Add donations UI and in-app error handling (#833) 2024-11-07 23:02:10 +01:00
AppProduct+Features.swift Revisit in-app eligibility for iCloud sharing (#837) 2024-11-09 15:20:59 +01:00
AppProduct+Providers.swift Merge AppLibrary into CommonLibrary (#806) 2024-11-03 13:16:13 +01:00
AppProductHelper.swift Refactor in-app entities for StoreKit/Kvitto integration (#820) 2024-11-06 13:20:12 +01:00
AppReceiptReader.swift Refactor in-app entities for StoreKit/Kvitto integration (#820) 2024-11-06 13:20:12 +01:00
AppUserLevel.swift Exclude interactive login from v2 (#852) 2024-11-11 20:10:27 +01:00
FallbackReceiptReader.swift Fix "Purchase required" in TestFlight (#870) 2024-11-14 19:12:51 +01:00
IAPManager.swift Resolve excessive profile reloads (#883) 2024-11-17 11:34:43 +01:00
PaywallReason.swift Simulate in-app purchases (#818) 2024-11-05 18:55:57 +01:00