ios-networking

📁 pluginagentmarketplace/custom-plugin-ios 📅 6 days ago
1
总安装量
1
周安装量
#43313
全站排名
安装命令
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-ios --skill ios-networking

Agent 安装分布

amp 1
opencode 1
kimi-cli 1
codex 1
github-copilot 1

Skill 文档

iOS Networking Skill

Build robust network layers for iOS applications

Learning Objectives

By completing this skill, you will:

  • Master URLSession with async/await
  • Implement type-safe API clients
  • Handle authentication flows (OAuth, JWT)
  • Build offline-first applications

Prerequisites

Requirement Level
iOS Fundamentals Completed
Swift Intermediate
async/await Basic

Curriculum

Module 1: URLSession Fundamentals (4 hours)

Topics:

  • URLSession configuration
  • URLRequest building
  • Response handling
  • Error management

Code Example:

func fetch<T: Decodable>(_ type: T.Type, from url: URL) async throws -> T {
    let (data, response) = try await URLSession.shared.data(from: url)

    guard let httpResponse = response as? HTTPURLResponse,
          (200...299).contains(httpResponse.statusCode) else {
        throw NetworkError.invalidResponse
    }

    return try JSONDecoder().decode(T.self, from: data)
}

Module 2: API Client Architecture (5 hours)

Topics:

  • Endpoint abstraction
  • Request/response interceptors
  • Retry logic with exponential backoff
  • Request deduplication

Module 3: Codable & JSON (3 hours)

Topics:

  • Custom encoding/decoding
  • Date format handling
  • Nested JSON parsing
  • Error handling

Module 4: Authentication (5 hours)

Topics:

  • OAuth 2.0 flow
  • JWT handling
  • Token refresh logic
  • Secure token storage

Module 5: Offline Support (4 hours)

Topics:

  • Response caching
  • Request queuing
  • Sync strategies
  • Conflict resolution

Module 6: Testing Network Code (3 hours)

Topics:

  • Mock URLProtocol
  • Stub responses
  • Network condition testing

Assessment Criteria

Criteria Weight
API client design 30%
Error handling 25%
Authentication 25%
Testing 20%

Common Mistakes

  1. Force unwrapping responses → Use proper error handling
  2. Ignoring cancellation → Respect Task cancellation
  3. Hardcoded URLs → Use configuration
  4. Missing retry logic → Implement exponential backoff

Skill Validation

  1. REST Client: Type-safe API client with Codable
  2. Auth Flow: OAuth 2.0 with token refresh
  3. Offline App: Cached data with sync
  4. Test Suite: 80% network code coverage