Skip to content

Support iOS 16 - #155

Open
andreyyudin wants to merge 2 commits into
Saffsanity:mainfrom
andreyyudin:feature/ios16-support
Open

andreyyudin wants to merge 2 commits into
Saffsanity:mainfrom
andreyyudin:feature/ios16-support

Conversation

@andreyyudin

Copy link
Copy Markdown

Summary

  • lower the iPhone and iPad deployment target to iOS 16
  • provide compatibility implementations for APIs introduced after iOS 16
  • preserve TLS 1.3, mutual authentication, SPKI pinning, ALPN, pairing, and stored-key security
  • support secure TLS identities with the public Security APIs available in Xcode 16
  • update documentation and compatibility checks

Validation

  • protocol checks passed, including live pinned mutual TLS
  • compatibility: 102 checks passed
  • window restore: 41,499 checks passed
  • remote rules: 123 checks passed
  • settings window: 307,709 checks passed
  • tour: 111,189 checks passed
  • update policy: 124 checks passed
  • Mac release build succeeded
  • arm64 iOS build succeeded with deployment target iOS 16.0
  • tested successfully on a physical iPhone running iOS 16

Closes #112

@Saffsanity

Copy link
Copy Markdown
Owner

From a pass over all the open pull requests (nothing is decided yet): several open PRs add iOS 17-only APIs that an iOS 16 target would reject (two-parameter onChange in #94, #150, #156, #158 and #161, AccessibilityNotification in #95, UITextInlinePredictionType in #147), so whichever lands second would need them wrapped; textually it meets #158 in six files, #161 in StreamScreen.swift, #94 in HostSettingsPanel.swift and #117 in ContentView.swift. #66 (and #72 and #73, built on it) guards the same Duo code in DuoPostureReader.swift with SILL_NO_DUO_SDK where this PR uses #if compiler(>=6.2), so only one of the two guards should remain.

dr-apple added a commit to dr-apple/sill that referenced this pull request Oct 19, 2026
…Change

`onChange(of:)` with the two-parameter closure needs iOS 17, and the open iOS 16 support
work (Saffsanity#155) would have to rewrite this new line as well. A `.task(id:)` runs on iOS 15
and later; the first run only records that it has run, so, like onChange, it does nothing
on the first appearance.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
dr-apple added a commit to dr-apple/sill that referenced this pull request Oct 19, 2026
…Change

`onChange(of:)` with the two-parameter closure needs iOS 17, and the open iOS 16 support
work (Saffsanity#155) would have to rewrite this new line as well. A `.task(id:)` runs on iOS 15
and later; the first run only records that it has run, so, like onChange, it does nothing
on the first appearance.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Any chance for iOS 16 support?

2 participants