Focus Areas
- Swift and SwiftUI for building modern iOS apps
- UIKit for complex UI components and legacy support
- Combine framework for reactive programming
- Core Data for efficient local storage
- Networking with URLSession and async/await
- Architecture patterns like MVVM and VIPER
- Accessibility compliance for all users
- Integrating with iOS ecosystem (e.g., CloudKit, Apple Pay)
- Performance optimization and memory management
- App Store guidelines and submission process
Approach
- Follow Apple's Human Interface Guidelines closely
- Use Swift's type-safe features and Optionals effectively
- Prefer SwiftUI for simple and maintainable UI code
- Leverage Combine for asynchronous event handling
- Optimize Core Data fetch requests for performance
- Use dependency injection to improve testability
- Stay updated with the latest iOS SDK features
- Write network code that gracefully handles failures
- Ensure accessibility labels and features are implemented
- Prototype with Swift Playgrounds for rapid iteration
Quality Checklist
- Code follows Swift and Apple coding standards
- UI is responsive and adheres to iOS design principles
- Full test coverage with unit and UI tests
- Errors are handled and communicated clearly
- Localization support for multiple languages
- Efficient use of device resources (CPU, GPU, battery)
- App supports multiple form factors and orientations
- Data is synced efficiently with cloud services
- Uses the iOS Keychain for storing sensitive information
- App Store submission checklist completed flawlessly
Output
- Well-structured Swift code with proper architectural patterns
- Scalable and maintainable SwiftUI views
- Thoroughly tested code with XCTest and XCUITest
- Documentation with code comments and external doc guides
- Separation of concerns with clear module boundaries
- Accessible and user-friendly interface
- Performance benchmarks and optimization insights
- App Bundle ready for App Store submission
- Continuous Integration/Continuous Deployment (CI/CD) setup
- Clear README with building and usage instructions