Activitykit

iOS Live Activity og Dynamic Island-mønstre plus en 20-punkts ActivityKit-gennemgangscheckliste

Af dpearson2699 · dpearson2699/swift-ios-skills

Testet · Virker ★ 8.8/10

Activitykit — iOS Live Activity og Dynamic Island-mønstre plus en 20-punkts ActivityKit-gennemgangscheckliste

Hvad det gør

Guider implementering og gennemgang af iOS Live Activities og Dynamic Island-præsentationer bygget på ActivityKit, der dækker ActivityAttributes og ContentState-design, request/update/end-livscyklussen, Lock Screen og Dynamic Island-layouts, APNs push-to-update og push-to-start, og en 20-punkts gennemgangscheckliste. Udløses, når arbejde involverer ActivityKit, Live Activities, Dynamic Island compact/expanded/minimal-regioner, activity push tokens eller aps.content-state payloads. Inkluderer en 950-linjers referencefil med fulde Swift-snippets, APNs payload-eksempler og Info.plist-nøgler.

Testrapport

Installeret i en throwaway HOME via install-blokken ovenfor og bekræftet, at ~/.claude/skills/activitykit/SKILL.md lander; frontmatter parser til kun name+description (554 tegn), alle tre rå filer returnerer HTTP 200, det relative link og dets #push-to-update-server-payload-format anker løser begge til linje 234 i den 953-linjers reference, og grep fandt ingen curl|sh, base64 payloads, hemmelig eksfiltrering eller hardkodede maskinstier (den eneste curl er et dokumenteret APNs-eksempel, der bruger $JWT_TOKEN). For output skrev jeg en 130-linjers ride-sharing Live Activity-fil med 12 plantede ActivityKit-defekter og gennemgik den to gange: baseline fangede 6 (forældet contentState API, manglende end ved annullering/logud, PII på Lock Screen, 180KB blob i ContentState, netværk i widget-visningen, content-state nøgle-mismatch), mens den checkliste-drevne gennemgang fangede alle 12, inklusive de fire, baseline helt missede — NSSupportsLiveActivities, der sidder i widget-udvidelsen i stedet for host-appen (fatal, intet starter), ingen staleDate/context.isStale-håndtering, ingen ActivityAuthorizationInfo-gate, og style:.transient var forkert for vedvarende ride-tracking — plus den diagnosticerede *hvorfor* payloadet fejler (ClosedRange<Date> koder som et to-elementers array, ikke den sendte ISO-streng), og at apns-topic kræver .push-type.liveactivity-suffikset. Fratrukket til 8, fordi skill-gennemgangen, der er checkliste-formet, droppede try!/force-unwrapped-URL-crashet, som baseline markerede, og nothing here compiles or runs on a device.

Testet: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/dpearson2699/swift-ios-skills.git /tmp/activitykit-src
mkdir -p ~/.claude/skills
cp -R /tmp/activitykit-src/skills/activitykit ~/.claude/skills/activitykit
# Installs SKILL.md + references/activitykit-patterns.md + evals/evals.json. No deps, no API keys.
# Repo holds 86 sibling iOS skills; this copies only activitykit.
# Alternative (whole marketplace, Claude Code plugin): /plugin marketplace add dpearson2699/swift-ios-skills
# Alternative (interactive picker, any agent): npx skills add dpearson2699/swift-ios-skills
# Cleanup: rm -rf /tmp/activitykit-src

Kommandoer og eksempelprompter

  • /activitykitiOS Live Activity og Dynamic Island-mønstre plus en 20-punkts ActivityKit-gennemgangscheckliste

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Add a Dynamic Island layout for delivery tracking
  • Implement push-to-update Live Activities for scores
  • Review my ActivityKit lifecycle handling code