ios-production-patterns/SKILL.md
Production-grade iOS patterns that separate good apps from great apps — UIViewController lifecycle gotchas, sensor lifecycle management, delegate pattern implementation, keyboard dismissal, Core Data migration, UIImagePickerController dismissal...
npx skillsauth add peterbamuhigire/skills-web-dev ios-production-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ios-production-patterns or would be better handled by a more specific companion skill.SKILL.md first, then load only the referenced deep-dive files that are necessary for the task.Expert-level, ship-it details that tutorials skip. Each pattern reflects a real production bug or App Store rejection that could have been avoided.
override func viewDidLoad() {
super.viewDidLoad()
// Called ONCE. Wire outlets, configure appearance, set initial data.
// Never start sensors, timers, or location here.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Called EVERY time screen is shown.
// Refresh data from external sources here.
locationManager.startUpdatingLocation()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// Animation complete. Start timers here.
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Stop sensors BEFORE leaving. Save state.
locationManager.stopUpdatingLocation()
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
// Release non-persistent resources.
}
Critical rules:
CLLocationManager, sensors, timers in viewWillAppear — never viewDidLoadviewWillDisappear — never viewDidDisappear (too late for some sensors)viewWillAppear so it's current every time the screen is visibleExtended guidance for ios-production-patterns was moved to references/skill-deep-dive.md to keep this entrypoint compact and fast to load.
Use that deep dive for:
2. Delegate Pattern — Full Implementation (6 Steps)3. Sensor Lifecycle — Location4. Camera Integration — Four Gotchas5. Keyboard Dismissal6. Gesture Recognizer State Guard7. Core Data Lightweight Migration (Mandatory Before Any Schema Change)8. Programmatic UI Constraints — Two Rules9. HealthKit — Partial Permissions Pattern10. Core ML on Background Thread11. SwiftUI / UIKit Integration12. SwiftUI vs UIKit Decision13. App Store Submission Checklistdata-ai
Use when adding AI-powered analytics to a SaaS platform — semantic search over business data, natural language queries, trend detection, anomaly alerts, and AI-generated insights for dashboards. Covers embeddings, NL2SQL, and per-tenant analytics...
data-ai
Design AI-powered analytics dashboards — what metrics to show, how to display AI predictions and confidence, drill-down patterns, KPI cards, trend visualisation, AI Insights panels, export design, and role-based dashboard variants. Invoke when...
development
Use when designing, building, reviewing, or upgrading production software systems that must be secure, performant, maintainable, scalable, and user-centered. Apply before writing specs, code, architecture, APIs, databases, mobile apps, SaaS platforms, or ERP systems.
development
Professional web app UI using commercial templates (Tabler/Bootstrap 5) with strong frontend design direction when needed. Use for CRUD interfaces, dashboards, admin panels with SweetAlert2, DataTables, Flatpickr. Clone seeder-page.php, use...