Migration ticket: bump deployment target to iOS 18 - #5
Conversation
A prompt that fires an agent to plan and implement raising the minimum deployment target to iOS 18 across all targets and removing now-dead backwards-compatibility code. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (22)
💤 Files with no reviewable changes (3)
📝 WalkthroughWalkthroughThis PR upgrades the GrowingUp app to target iOS 18.0 as the minimum deployment target. It removes legacy obfuscation code, cleans up credential constants, modernizes protocol constraints throughout the codebase, and eliminates version-conditional code paths made safe by the higher iOS requirement. ChangesiOS 18 Deployment Target Upgrade
🎯 3 (Moderate) | ⏱️ ~20 minutes
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
- IPHONEOS_DEPLOYMENT_TARGET = 18.0 on app, Core, Widget and test targets; objectVersion 50 -> 56, LastUpgradeCheck -> 2600 (Xcode 26) - Remove availability guards now dead under the iOS 18 floor: iOS 11 placeholder fallback (PersonOverview), iOS 12 userInterfaceStyle guard (UIColor+Extensions), iOS 17 containerBackground shim (Widget) - Replace deprecated topLayoutGuide with safeAreaLayoutGuide - protocol X: class -> AnyObject across all protocols - Delete dead Obfuscator.swift plus its commented-out call sites and obfuscated constants in Logging/Constants - Readme requirements: iOS 18.0+ SWIFT_VERSION stays 5.0: Swift 6 language mode hinges on the concurrency direction discussed in PR #8, so it is deferred there. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Implemented the ticket in f92452d (after merging master, which had already moved the floor 12→16 via the WidgetKit PR — so this commit is 16→18). Done
Verified: Deliberate deviations
Device support (per ticket): iOS 18 floor drops everything older than iPhone XS/XR generation — implemented as explicitly requested. 🤖 Generated with Claude Code |
What
Adds
migrations/04-ios18-deployment-target.md— an agent prompt to raise the minimum deployment target from iOS 12 → iOS 18 across all targets and clean up the backwards-compat code the bump makes dead. Carries the ticket/prompt only.Scope (per the prompt)
IPHONEOS_DEPLOYMENT_TARGET = 18.0on app,Core,Widget, tests#available/@availableguards for iOS < 18class→AnyObjectin protocols; audit deadObfuscatorOverlap note
This overlaps PR #4 (
chore/tooling-modernization), whose sub-task B proposed iOS 16. Per decision, PR #4 stays as-is and this granular ticket is the source of truth for the deployment target (iOS 18).🤖 Generated with Claude Code
Summary by CodeRabbit
Breaking Changes
Chores