ios-flows-and-patterns

Installation
SKILL.md

iOS flows, patterns & behavior — HIG (iOS 26 baseline · iOS 27 current)

Source: Apple HIG Patterns, Motion, Accessibility, Playing haptics pages + WWDC 2026 (child-safety newsroom, "What's new in SwiftUI", Liquid Glass refinements) (read June 2026). iOS 26 = shipping baseline; iOS 27 (WWDC 2026) = current cycle — the core HIG behavioral patterns below are unchanged across both; iOS 27 deltas are flagged inline. ios-components covers the controls; this covers flows and behavior.

Onboarding & launch

  • Onboarding is optional, skippable, fast, fun — and happens after launch, not as part of it. Teach by doing, not slideshows; prefer contextual tips (TipKit) over one big flow. Don't re-show a skipped tutorial. Postpone nonessential setup; provide good defaults so people start immediately. No licensing/disclaimers in onboarding.
  • Permission timing: integrate a permission request into onboarding only if the app can't function without that data; otherwise request it when the person first uses the feature that needs it. Never request at launch unless the reason is self-evident (a maps app needing location).
  • Launch screen = a fast-launch illusion, not branding/onboarding. Make it nearly identical to the first real screen (match orientation + light/dark); no text (won't localize); no logos unless they're a fixed part of the first screen. Restore previous state on relaunch.
  • Age-gating in onboarding (iOS 27 / WWDC 2026): Child Accounts are now mandatory under 13 and available/persist through 18, with parent-guided on-device setup. Don't ask a child for a birthdate in your own onboarding — read the system's privacy-preserving bracket via the Declared Age Range API (returns under 13 / 13–17 / 18+, never an exact date) and gate content/monetization to it. Use PermissionKit to route new in-app contacts through parental approval, and SensitiveContentAnalysis to filter inbound media. (Apple ships the tools but does not mandate a specific onboarding flow — Verify-at-source flag on per-category requirements.)

Loading

  • "The best content-loading experience finishes before people become aware of it." Show placeholder content immediately (text/graphics/animation), replace as data arrives — never a blank screen (reads as broken). Load in the background. Use a determinate indicator when duration is known, indeterminate when not.

Search

  • Make in-app search forgiving and fast: show recents + suggestions before the first keystroke, tolerate typos/synonyms, return results progressively, never a blank pause. Put the field where people expect it (top of a scrollable list, or the system search role) and keep it reachable.
  • System search rebuilt (iOS 27 / WWDC 2026): Apple rebuilt the foundation under Spotlight, Mail, and Photos (more stable + efficient; new content indexes almost immediately). Donate your content to the index (App Intents / CSSearchableItem) so it surfaces in the better Spotlight and ranks well — don't reinvent a private search silo for content the system can index. Verify-at-source flag on exact new indexing APIs.
Installs
3
First Seen
Oct 8, 2026