mcpField
I
ios-swift-development

ios-swift-development

github.com/aj-geddesDevelopment3731.5k installsUpdated 34w ago
Repository

About ios-swift-development

A development skill for building native iOS apps in Swift, covering SwiftUI, Combine, and async/await. It includes reference guides for MVVM, networking, and SwiftUI views.

Key features

  1. 01Native iOS development in Swift
  2. 02SwiftUI interface and view guides
  3. 03Combine and async/await patterns
  4. 04MVVM architecture reference
  5. 05URLSession networking guide

Use cases

  1. 01Developing native iOS apps
  2. 02Building declarative SwiftUI interfaces
  3. 03Implementing async operations and networking

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill ios-swift-development

After installing, type/ios-swift-developmentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
mvvm-architecture-setup.md
network-service-with-urlsession.md
swiftui-views.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

Details

From the project README

iOS Swift Development

Table of Contents

Overview

Build high-performance native iOS applications using Swift with modern frameworks including SwiftUI, Combine, and async/await patterns.

When to Use

  • Creating native iOS applications with optimal performance
  • Leveraging iOS-specific features and APIs
  • Building apps that require tight hardware integration
  • Using SwiftUI for declarative UI development
  • Implementing complex animations and transitions

Quick Start

Minimal working example:

import Foundation
import Combine

struct User: Codable, Identifiable {
  let id: UUID
  var name: String
  var email: String
}

class UserViewModel: ObservableObject {
  @Published var user: User?
  @Published var isLoading = false
  @Published var errorMessage: String?

  private let networkService: NetworkService

  init(networkService: NetworkService = .shared) {
    self.networkService = networkService
  }

  @MainActor
  func fetchUser(id: UUID) async {
    isLoading = true
    errorMessage = nil

// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
MVVM Architecture SetupMVVM Architecture Setup
Network Service with URLSessionNetwork Service with URLSession
SwiftUI ViewsSwiftUI Views

Best Practices

✅ DO
  • Use SwiftUI for modern UI development
  • Implement MVVM architecture
  • Use async/await patterns
  • Store sensitive data in Keychain
  • Handle errors gracefully
  • Use @StateObject for ViewModels
  • Validate API responses properly
  • Implement Core Data for persistence
  • Test on multiple iOS versions
  • Use dependency injection
  • Follow Swift style guidelines
❌ DON'T
  • Store tokens in UserDefaults
  • Make network calls on main thread
  • Use deprecated UIKit patterns
  • Ignore memory leaks
  • Skip error handling
  • Use force unwrapping (!)
  • Store passwords in code
  • Ignore accessibility
  • Deploy untested code
  • Use hardcoded API URLs

Comments

Markdown supported