Skip to content

[codex] Support iOS 16 UIKit root contract#86

Merged
fannnzhang merged 11 commits into
mainfrom
codex/ios16-uikit-root-contract
Jun 14, 2026
Merged

[codex] Support iOS 16 UIKit root contract#86
fannnzhang merged 11 commits into
mainfrom
codex/ios16-uikit-root-contract

Conversation

@fannnzhang

Copy link
Copy Markdown
Contributor

What changed

  • Lowered the iOS app, widget extension, tests, Xcode project, and UniFFI build defaults from iOS 17.0 to iOS 16.0.
  • Replaced iOS 17-only SwiftUI APIs in production app/widget sources with iOS 16-compatible project wrappers or UIKit-backed implementations.
  • Added guardrails to verify-roadmap-architecture-constraints.sh for iOS 16 deployment and forbidden iOS 17 SwiftUI APIs.
  • Documented the UIKit/AppKit migration contract and the next root/list/auth/profile workstreams.

Why

The next iOS architecture phase targets iOS 16 and production UIKit/Texture ownership, with SwiftUI limited to WidgetKit, Developer Tools, and tracked transitional bridges. This PR establishes the compatibility floor and guardrails before larger root-shell and screen migrations begin.

Validation

  • scripts/verify-roadmap-architecture-constraints.sh
  • xcodegen generate
  • xcodebuild -project native/ios-app/Fire.xcodeproj -scheme Fire -destination 'platform=iOS Simulator,id=5318776E-FF02-4468-8549-DFF919ED16E0' -derivedDataPath /tmp/fire-ios16-uikit-contract-full2 CODE_SIGNING_ALLOWED=NO build

Notes

  • Existing local references/fluxdo and untracked references/dexo/ changes are not part of this PR.
  • Remaining build warnings are pre-existing Texture/Swift diagnostics unrelated to the iOS 16 contract.

@fannnzhang
fannnzhang marked this pull request as ready for review June 14, 2026 12:16
@fannnzhang
fannnzhang merged commit 1959f25 into main Jun 14, 2026
11 checks passed
@fannnzhang
fannnzhang deleted the codex/ios16-uikit-root-contract branch June 14, 2026 12:17
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.

1 participant