ios-hig
iOS Human Interface Guidelines
Apple's Human Interface Guidelines define the visual language, interaction patterns, and accessibility standards that make iOS apps feel native and intuitive. The core principle: clarity and consistency through thoughtful design.
Reference Loading Guide
ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.
| Reference | Load When |
|---|---|
| Interaction | Touch targets, navigation, layout, hierarchy, or gesture patterns |
| Content | Empty states, writing copy, typography, or placeholder text |
| Visual Design | Colors, materials, contrast, dark mode, or SF Symbols |
| Accessibility | VoiceOver, Dynamic Type, Reduce Motion, or accessibility labels |
| Feedback | Animations, haptics, loading states, or error messages |
| Performance | Responsiveness, system components, or app launch |
| Privacy | Permission requests, data handling, or privacy-sensitive APIs |
Common Mistakes
More from johnrogers/claude-swift-engineering
swift-style
Swift code style conventions for clean, readable code. Use when writing Swift code to ensure consistent formatting, naming, organization, and idiomatic patterns.
1.5Kswiftui-patterns
>-
179ios-26-platform
Use when implementing iOS 26 features (Liquid Glass, new SwiftUI APIs, WebView, Chart3D), deploying iOS 26+ apps, or supporting backward compatibility with iOS 17/18.
169swift-testing
Use when writing tests with Swift Testing (@Test, #expect, #require), migrating from XCTest, implementing async tests, or parameterizing tests.
138composable-architecture
Use when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features. Covers @Reducer, Store, Effect, TestStore, reducer composition, and TCA patterns.
136sqlite-data
Use when working with SQLiteData library (@Table, @FetchAll, @FetchOne macros) for SQLite persistence, queries, writes, migrations, or CloudKit private database sync.
123