You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 23, 2026. It is now read-only.
A good percentage of users does not have nor wants iOS 26. When trying to install they'll get this
Proposed solution
I'm not familiar with mobile app development, but Claude was kind enough to scan the code base and seems to think there are no APIs in use that require iOS 26.
Audit Result: iOS 26 is not required
The current deployment target of iOS 26.0 is far higher than needed. The code can safely target iOS 17.0.
What actually gates the minimum
┌─────────────────────────────────────────────────────────────┬────────┬───────────────────────────────────────────────────┐
│ Constraint │ Min │ Scope │
│ │ iOS │ │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ @Observable, @Bindable, @Environment(ObservableType.self) │ 17.0 │ Used pervasively, no guards — this is the hard │
│ │ │ floor │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ Two-argument .onChange(of:) { old, new in } │ 17.0 │ ~15+ files │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ MapCameraPosition, MapPolyline, Map(position:) │ 17.0 │ FitnessSummaryViews.swift │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ .contentTransition(.numericText(value:)) │ 17.0 │ FitnessControlViews.swift │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ ActivityKit / Dynamic Island / Live Activities │ 16.1 │ Subsumed by iOS 17 │
├─────────────────────────────────────────────────────────────┼────────┼───────────────────────────────────────────────────┤
│ NavigationStack, .presentationDetents, .toolbar(.hidden, │ 16.0 │ Subsumed by iOS 17 │
│ for:) │ │ │
└─────────────────────────────────────────────────────────────┴────────┴───────────────────────────────────────────────────┘
No iOS 26 APIs found
Zero usage of Liquid Glass, GlassEffect, new UITabBarController APIs, TabSection, HKStateOfMind, or any other iOS 26-exclusive symbol. The project was simply built against the latest SDK without any new API adoption.
What's already guarded
Two #available(iOS 16.0, *) checks in HealthKitFullImporter.swift (sleep stages + wrist temperature) — these are correct and remain valid at any target ≥ 16.
---
Recommendation: Lower IPHONEOS_DEPLOYMENT_TARGET from 26.0 to 17.0 in GooseSwift.xcodeproj/project.pbxproj. No code changes required — everything compiles cleanly at iOS 17. Want me to make that change?
Any chance the minimum version can be lowered to increase the audience that can install? fwiw; for me personally 18 is already enough. Thanks for considering.
What problem does this solve?
A good percentage of users does not have nor wants iOS 26. When trying to install they'll get this
Proposed solution
I'm not familiar with mobile app development, but Claude was kind enough to scan the code base and seems to think there are no APIs in use that require iOS 26.
Any chance the minimum version can be lowered to increase the audience that can install? fwiw; for me personally 18 is already enough. Thanks for considering.
WHOOP device (if relevant)
Not device-specific
Alternatives considered
No response
Additional context
No response