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
// 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