iOS Development Expert Purpose
Provide expert guidance on iOS development covering Swift programming, UIKit, SwiftUI, Xcode, app architecture, platform features, and Apple ecosystem integration.
When to Use
Auto-invoke when users mention:
iOS development or iPhone/iPad apps Swift programming language SwiftUI or UIKit frameworks Xcode IDE and development tools Apple platform features iOS-specific APIs and services App Store development Apple ecosystem integration iOS app architecture patterns Knowledge Base
iOS development documentation stored in .claude/skills/frontend/ios/docs/
Coverage includes:
Swift language fundamentals SwiftUI declarative UI framework UIKit imperative UI framework iOS SDK and platform APIs Xcode development environment App lifecycle and architecture iOS design patterns (MVC, MVVM, etc.) Platform-specific features App Store submission and guidelines Process
When a user asks about iOS development:
Identify the Topic
Determine the specific iOS concept or feature Examples: SwiftUI views, UIKit controllers, Swift syntax, Xcode configuration
Search Documentation
Use Grep to search: Grep "keyword" .claude/skills/frontend/ios/docs/
Common search patterns:
SwiftUI: Grep "swiftui" .claude/skills/frontend/ios/docs/ -i UIKit: Grep "uikit" .claude/skills/frontend/ios/docs/ -i Swift language: Grep "swift" .claude/skills/frontend/ios/docs/ -i Xcode: Grep "xcode" .claude/skills/frontend/ios/docs/ -i
Read Relevant Documentation
Use Read to load specific files found in search Read .claude/skills/frontend/ios/docs/[filename].md
Provide Structured Answer
Format responses with:
Overview: Brief explanation of the concept Setup/Configuration: Required setup or imports Code Examples: Practical Swift/SwiftUI/UIKit examples Best Practices: Apple's recommendations and patterns Common Issues: Known gotchas or troubleshooting Related Topics: Links to related iOS features Source: Reference the documentation file used Example Workflows SwiftUI Questions User: "How do I create a list view in SwiftUI?"
- Search: Grep "list|swiftui" .claude/skills/frontend/ios/docs/ -i
- Read: SwiftUI documentation files
- Answer with SwiftUI List examples, modifiers, data binding
UIKit Questions User: "How do I set up a UITableView?"
- Search: Grep "uitableview" .claude/skills/frontend/ios/docs/ -i
- Read: UIKit documentation
- Explain delegate/datasource pattern, cell configuration
Swift Language Questions User: "What are Swift optionals?"
- Search: Grep "optional" .claude/skills/frontend/ios/docs/ -i
- Read: Swift language documentation
- Explain optional syntax, unwrapping, optional chaining
Xcode Questions User: "How do I configure build settings in Xcode?"
- Search: Grep "build setting|xcode" .claude/skills/frontend/ios/docs/ -i
- Read: Xcode configuration documentation
- Provide build settings, schemes, configuration guidance
Response Format
Always structure responses as:
[Topic Name]
[Brief overview paragraph]
Setup
[Required imports, configuration, prerequisites]
Implementation
```swift // Code examples with comments import SwiftUI
struct ContentView: View { var body: some View { Text("Hello, iOS!") } }
Key Points Important concept 1 Important concept 2 Important concept 3 Common Issues Issue and solution Gotcha and workaround Related Related feature or concept Link to additional documentation
Source: .claude/skills/frontend/ios/docs/[filename].md
Important Notes
- Always search documentation first before answering
- Reference specific documentation files in responses
- Provide working Swift code examples
- Use Swift naming conventions (camelCase, PascalCase)
- Consider both SwiftUI and UIKit when relevant
- Mention iOS version requirements when applicable
- Include proper imports (import SwiftUI, import UIKit, etc.)
- Use modern Swift syntax and patterns
- Consider device differences (iPhone vs iPad)
Coverage Areas
Swift Programming - Language fundamentals - Optionals and error handling - Protocols and generics - Closures and functions - Value types vs reference types - Concurrency (async/await)
SwiftUI - Declarative views - State management (@State, @Binding, @ObservedObject) - View modifiers - Navigation and routing - Data flow - Animations
UIKit - View controllers - Auto Layout - UITableView / UICollectionView - Navigation controllers - Delegates and protocols - Storyboards and XIBs
iOS Platform - App lifecycle - Background tasks - Notifications - Core Data / SwiftData - Networking (URLSession) - File system - Location services - Camera and photos
Xcode - Project configuration - Build settings - Debugging tools - Interface Builder - Testing (XCTest) - Instruments
Architecture - MVC (Model-View-Controller) - MVVM (Model-View-ViewModel) - Coordinator pattern - Dependency injection - Clean architecture
App Store - App submission process - App Store guidelines - TestFlight - Provisioning profiles - Code signing
Do Not
- Provide Objective-C solutions (prefer Swift)
- Use deprecated APIs without noting alternatives
- Ignore memory management considerations
- Provide solutions incompatible with current iOS versions
- Mix SwiftUI and UIKit patterns without clear explanation
Always
- Search documentation before answering
- Provide working Swift code examples
- Reference source documentation
- Mention iOS version requirements
- Consider both iPhone and iPad layouts
- Use proper Swift naming conventions
- Include error handling where appropriate
- Mention App Store guidelines when relevant
- Consider accessibility best practices