Platform Decision: iOS 15
Date: 2026-03-22
Decision
Minimum deployment target for the app becomes iOS 15.
This is the last iOS version supported by iPhone 6s, which remains a valid target device for this product:
- BLE communication is fully capable on this hardware.
- Live data acquisition, diagnostics, and logging are within its capabilities.
- Local history and long-term battery tracking are also realistic for the product goals.
Product Goals
The application is intended to support:
- live data collection for device diagnostics
- real battery capacity measurement using USB meters
- long-term degradation tracking through historical data
- efficiency analysis for charging chains
- charger efficiency analysis
Why We Are Leaving iOS 13
iOS 13 is too old for the current development direction:
- first-generation SwiftUI requires more workarounds and compatibility code
- maintenance and testing cost is higher
- newer Xcode / App Store tooling trends are centered around more recent deployment targets
Moving to iOS 15 reduces risk without dropping iPhone 6s.
Why We Are Not Moving to iOS 16 Yet
iOS 16 would unlock APIs such as NavigationStack and Swift Charts, but it would also exclude iPhone 6s.
At this stage, preserving iPhone 6s support is considered more valuable than gaining those APIs.
Charts Decision
Current conclusion:
- keep the in-house chart solution for live charts
- do not adopt
Swift Charts for the live measurement view
- reconsider
Swift Charts later only for historical reports and analysis screens
Reasoning:
Swift Charts looks strong for reports and final analysis
- it does not appear ideal for high-frequency live updates
- zoom and pan would still require custom work
- the current in-house renderer gives better control for instrument-style live views
Device Coverage Notes
Choosing iOS 15 preserves iPhone 6s support.
There are also older iPads that remain on iPadOS 15. Apple security release notes for January 26, 2026 still list devices such as:
So this platform decision likely preserves some older iPad coverage as well.
Revisit Trigger
We should revisit the minimum deployment target when one of the following becomes important:
- a strong need for
Swift Charts
- a move toward
SwiftData / more modern SwiftUI app architecture
- loss of business value in keeping
iPhone 6s support
- support or distribution constraints imposed by newer Xcode / App Store requirements
References
- Apple Xcode system requirements: https://developer.apple.com/xcode/system-requirements/
- Apple upcoming App Store requirements: https://developer.apple.com/news/upcoming-requirements/
- Apple App Store platform usage: https://developer.apple.com/support/app-store/
- Apple security releases: https://support.apple.com/en-lamr/100100