Overview › Build, Xcode & Dependencies
Build, Xcode & Dependencies
Xcode 15.x · Swift 5 · iOS 16+ · CocoaPods + 29 SPM packages · SwiftLint enabled.
78
SCORE
Summary
Modern toolchain: Xcode 15.x · Swift 5 · iOS 16 deployment. Hybrid CocoaPods + 29 SPM packages. SwiftLint integrated. Snapshot test plans configured per-locale.
Build settings
| Setting | Value |
|---|---|
| IPHONEOS_DEPLOYMENT_TARGET | 16.0 (main app); 14.0 (Podfile fallback) |
| SWIFT_VERSION | 5.0 |
| Xcode | 15.x |
| App Bundle ID | ${BUNDLE_ID} (config-driven) |
| Targets | Main, DMCWidgetExtension, NotificationServiceExtension |
| Test plans | 6 (.xctestplan) |
| SwiftLint | Enabled via Pod |
Findings
PASS
Modern minimum deployment
iOS 16 is a modern floor — Combine async/await, SwiftUI Pivot, Swift Charts available.
MEDIUM
iOS 14 fallback in Podfile
Podfile lists 14.0 as fallback; main app is 16.0. Mismatch can ship some Pods on older OS than the app supports.
Recommendation: Bump Podfile fallback to 16.0.
MEDIUM
Plan SPM-only future
CocoaPods is reaching end-of-life industry-wide; SwiftLint, SDWebImage, snapshot libs all have SPM equivalents.
Recommendation: Track each Pod for SPM availability; migrate quarterly. Eventually retire the Podfile.
LOW
Adopt Swift 6 strict concurrency when ready
Xcode 16+ ships Swift 6 with strict concurrency.
Recommendation: Pilot per-module; track warning count.
Findings in this category
Costco iOS · Code Review Report · Generated 2026-05-07 · 88 machine-curated findings