ios-networking
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
- Force unwrapping responses â Use proper error handling
- Ignoring cancellation â Respect Task cancellation
- Hardcoded URLs â Use configuration
- Missing retry logic â Implement exponential backoff
Skill Validation
- REST Client: Type-safe API client with Codable
- Auth Flow: OAuth 2.0 with token refresh
- Offline App: Cached data with sync
- Test Suite: 80% network code coverage