swift-ios
/swift-ios
Buduje natywne aplikacje iOS w Swift, SwiftUI lub UIKit, z właściwym cyklem życia, współbieżnością i migracją Swift.
- Autor
- wrongstack ↗
- Repozytorium
- wrongstack ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 2
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Buduje natywne aplikacje iOS w Swift, SwiftUI lub UIKit, z właściwym cyklem życia, współbieżnością i migracją Swift.
Oryginalny opis (EN)
Build and upgrade native iOS applications with Swift, SwiftUI/UIKit and correct lifecycle/concurrency ownership. Use when implementing native screens, platform integrations or Swift migrations; verify toolchain, deployment target and device behavior separately.
Jak działa
- Selection card
- Overview
- Rules
- Core Patterns & Pitfalls
- Workflow
- Before returning
- Sources
- Skills in scope
Podgląd SKILL.md
---
name: swift-ios
description: "Build and upgrade native iOS applications with Swift, SwiftUI/UIKit and correct lifecycle/concurrency ownership. Use when implementing native screens, platform integrations or Swift migrations; verify toolchain, deployment target and device behavior separately."
trigger: "Build and upgrade native iOS applications with Swift, SwiftUI/UIKit and correct lifecycle/concurrency ownership. Use when implementing native screens, platform integrations or Swift migrations; verify toolchain, deployment target and device behavior separately."
version: 1.0.2
required-capabilities: [filesystem.read]
required-tools: []
optional-capabilities: [filesystem.write, execution.shell, verification.run, web.research]
metadata:
routing-group: mobile
domain: "mobile"
paths: ["*.swift", "Package.swift", "Info.plist"]
---
# Swift Ios
## Selection card
- Task: Build SwiftUI and Apple platform features.
- Start: Identify the platform, screen, device and native integration boundary.
- Finish: apply the acceptance checks below; report observed results and unresolved constraints.
## Overview
Modern iOS applications use Swift 6 strict concurrency (`@MainActor`, `Sendable`, actors, structured `Task` hierarchies) alongside SwiftUI's `@Observable` data flow and UIKit interoperability. Reliable iOS engineering requires aligning Swift language mode with the minimum deployment target, cancelling in-flight tasks on view disappearance, and checking actor hops across suspension points.
Checked stable Swift target: 6.4.1 on 2026-10-23. Xcode/SDK, Swift language mode and minimum deployment OS are separate constraints; verify current supported combinations before migration.
## Rules
1. Inspect project/schemes, minimum deployment targets (`iOS`), entitlements, Privacy Manifest (`PrivacyInfo.xcprivacy`), and SwiftPM/CocoaPods pins.
2. Keep UI state ownership explicit (`@State` with `@Observable` models or `@StateObject` with `ObservableObject`) and isolate UI mutations to `@MainActor`.
3. Scope async work with SwiftUI `.task(id:)` or cancelled `Task` handles; check `Task.isCancelled` / `try Task.checkCancellation()` after suspension points so stale completions cannot overwrite newer state.
4. Use Keychain for credentials, handle permission `.denied` / `.restricted` states gracefully, and keep authorization on the server.
5. Match native `NavigationStack` / sheet transitions, Dynamic Type scaling, safe areas, keyboard avoidance, and VoiceOver traits/labels.
6. Do not label a simulator build as signed-device or App Store release proof.
## Core Patterns & Pitfalls
- **SwiftUI `.task(id:)` Lifecycle**: Prefer `.task(id: selection)` over spawning unstructured `Task { ... }` inside `.onAppear` so SwiftUI automatically cancels and restarts async work when the view disappears or the identifier changes.
- **Actor Reentrancy**: Actor state can change across any `await` suspension point. Re-validate cached invariants after `await` rather than assuming pre-await state still holds.
- **Anti-pattern — Recreating Models in `View.init`**: Initializing reference-type models inside a SwiftUI `View`'s `init` without `@State` / `@StateObject` recreates the model and drops in-flight state on every parent re-evaluation.
## Workflow
1. Trace screen/model/service ownership and current SwiftUI/UIKit conventions.
2. Verify stable toolchain and migration effects on concurrency and packages.
3. Implement the feature with intentional actor/lifecycle boundaries.
4. Test background/resume, cancellation, permissions, large text and navigation.
5. Build/test the selected scheme and verify representative device behavior.
## Before returning
- [ ] Swift version, language mode (Swift 5 vs Swift 6 concurrency), and minimum iOS deployment target verified
- [ ] UI state mutations isolated to `@MainActor` with `Sendable` boundaries respected
- [ ] Async work tied to `.task(id:)` or explicit cancellation handles and checked after `await`
- [ ] Dynamic Type, safe areas, VoiceOver labels, and permission denial states verified
- [ ] Simulator vs physical device vs signed archive evidence clearly distinguished
## Sources
Versioned facts checked 2026-10-23; refresh authoritative sources before new installs/upgrades.
[Swift releases](https://www.swift.org/install/), [Apple development](https://developer.apple.com/documentation/).
## Skills in scope
- mobile-design — design and implement mobile interfaces for touch, keyboards, safe areas and native navigation.
- mobile-performance — measure and improve mobile startup, scrolling, animation and resource usage on representative devices.
- mobile-release — prepare and verify signed mobile releases, test-channel distribution and store submission artifacts.
- authentication-sessions — implement application sign-in, sessions and identity integration with explicit account/tenant authorization.
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · wrongstack/wrongstack | 90 | MIT |
| ericrisco/rsc-harness | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 29e4529eb4c8 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 86ios
Pomaga w tworzeniu aplikacji na iOS w SwiftUI, UIKit, kodzie Swift i aplikacjach na platformy Apple. - 90mobile-ios-swift
Pisze idiomatyczny kod Swift dla iOS z Swift Concurrency i izolacją głównego aktora, bez wymuszonych rozpakowań. - 80role-mobile:ios-native
Pomaga w natywnych aplikacjach iOS w Swift i SwiftUI: UIKit, SwiftData, async/await, WidgetKit i Swift Package Manager. - 86swift
Pomaga w języku Swift: aplikacjach iOS i macOS, SwiftUI, backendzie Vapor i ekosystemie Apple. - 95ios-development
Wspiera tworzenie aplikacji na iOS, iPadOS i tvOS w Swift, SwiftUI i UIKit zgodnie z Human Interface Guidelines Apple. - 90Swift Modern Architecture Skill
Projektuje nowoczesną architekturę aplikacji SwiftUI pod Swift 6 i iOS 18, z granicami zależności, SwiftData i strukturalną współbieżnością.