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
- SwiftUI:
-
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?"
1. Search: Grep "list|swiftui" .claude/skills/frontend/ios/docs/ -i
2. Read: SwiftUI documentation files
3. Answer with SwiftUI List examples, modifiers, data binding
UIKit Questions
User: "How do I set up a UITableView?"
1. Search: Grep "uitableview" .claude/skills/frontend/ios/docs/ -i
2. Read: UIKit documentation
3. Explain delegate/datasource pattern, cell configuration
Swift Language Questions
User: "What are Swift optionals?"
1. Search: Grep "optional" .claude/skills/frontend/ios/docs/ -i
2. Read: Swift language documentation
3. Explain optional syntax, unwrapping, optional chaining
Xcode Questions
User: "How do I configure build settings in Xcode?"
1. Search: Grep "build setting|xcode" .claude/skills/frontend/ios/docs/ -i
2. Read: Xcode configuration documentation
3. 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