Overview › Resource Management
Resource Management
Mixed asset catalogs, hardcoded hex colors despite design system; no dark-mode audit.
65
SCORE
Summary
Asset catalogs in main app + each SPM package. 29 storyboards + 33 XIBs. Localized strings in 4 locales. Hardcoded hex colors despite the design system.
Resource inventory
Storyboards
29
Including LaunchScreen, Pharmacy, Savings, FeatureHighlights
XIB files
33
Custom cells + callout views (warehouse, savings, customer service)
Locales
4
en, en-CA, fr-CA, fr
Localized strings
~2,000
per locale in main bundle
SPM packages
29
Each can ship its own asset catalog
App icon
AppIcon
Verify dark + tinted variants for iOS 18
Asset catalog hygiene checklist
- Run
periphery scan+fui(Find Unused Images) quarterly. - Convert single-color icons to SF Symbols (free, scalable, dynamic-type aware).
- Multi-color illustrations → PDF (vector) or WebP (compressed).
- Add Dark / Tinted variants for iOS 18 home-screen tinting.
- App icon: use Image Set with explicit Dark + Tinted appearances.
Storyboards roadmap
29 storyboards is significant maintenance burden. Prioritize migration based on:
- Edit frequency — high-churn storyboards waste reviewer time on XML diffs.
- Traffic / impact — checkout, search, PDP first.
- Coupling — replace storyboards that use storyboard segues (which often hide architectural smells).
Findings
""HIGH
Hardcoded hex colors
Pallet tokens exist; feature code uses literal hex.
Recommendation: SwiftLint custom rule blocking hex initializers outside CostcoDesignSystem.
MEDIUM
Asset catalog hygiene
Audit for unused assets, oversize PNGs, missing dark variants.
Recommendation: Run
xcrun thinning; remove unused; convert simple icons to PDF / SF Symbols.MEDIUM
Storyboards complicate diffs
Storyboard XML changes are notorious in PRs.
Recommendation: Migrate top-traffic storyboards to SwiftUI; for those that stay, split per-screen.
No findings logged in this category yet for iOS.
Costco iOS · Code Review Report · Generated 2026-05-07 · 88 machine-curated findings