Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

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.

Repozytorium
wrongstack ↗
Licencja
MIT
Ostatnia zmiana repozytorium
27.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
2
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

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

  1. Selection card
  2. Overview
  3. Rules
  4. Core Patterns & Pitfalls
  5. Workflow
  6. Before returning
  7. Sources
  8. Skills in scope
Sekcje z nagłówków SKILL.md, w oryginale · 57 linii, 521 słów
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

RepozytoriumWynikLicencja
Ta strona · wrongstack/wrongstack90MIT
ericrisco/rsc-harness100MIT

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ą.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.