USB-Meter / Platform Decision - iOS 15.md
1 contributor
81 lines | 2.886kb

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:

  • iPad Air 2
  • iPad mini 4

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