Swift PiecesPro
  • Library
    Screens48Finished, designed screens for real apps.Templates10Complete apps built from the screens.Build Kit24Styles, briefs and recipes for your coding agentEverything58The whole library, with search
  • Docs
  • Pro

Library

  • Screens48
  • Templates10
  • Build Kit24
  • Everything58
  • Docs
  • Pro
  • Account
Get Swift Pieces ProFree library ↗
Swift PiecesPro

Production-ready SwiftUI screens and app templates for iOS. The pieces to build the whole app.

Library

  • Screens
  • Templates
  • Build Kit
  • Everything

Product

  • Pro
  • Your account
  • Sign in

Resources

  • Docs
  • CLI
  • MCP and agents
  • Free library

Social

  • X / Twitter
  • GitHub

SWIFTPIECES PRO

© 2026 Swift Pieces. One payment, lifetime access, per-developer commercial license.

Curated withby Saivion

LibraryTemplatesSubscription App

Template · Commerce

Subscription App

Cadence, a subscription habit tracker: a complete Xcode project with onboarding, a StoreKit 2 paywall, SwiftData, widgets and three brand presets.

A complete subscription app. First run is the Onboarding screen with a notifications request and a StoreKit 2 paywall as the handoff; after that the app opens on a five-tab shell. What's New, Settings, restoring the paywall and signing out back to first run are all connected.

SwiftUIiOS 17.0+Xcode project 1.0.0subscription-app

Get Swift Pieces Pro

$199 once, every piece included. See how installing works · Sign in

01

What's inside

The screens this template wires together, in the order someone meets them.

First run

Welcome pages, a notifications request and the StoreKit 2 paywall. Runs once, then records completion.

Screen · Onboarding

Onboarding

First run end to end: welcome pages, a permission step and a trial offer, then into the app.

Screen · Commerce

Purchase

A complete StoreKit 2 purchase: plans load, the purchase runs, success lands, the app unlocks.

Tabs

Today, Habits, Projects, Insights and Profile on the App Shell. Projects starts from a ghost state.

Screen · Productivity

Projects

A projects screen that starts as breathing ghost rows and hands off to your real projects.

Screen · Navigation

App Shell

The root of a tabbed app: a floating tab bar, a stack per tab and real reselect behaviour.

From the tabs

What's New opens from Today. Settings opens from Profile, reopens the paywall and signs out to first run.

Screen · Onboarding

What's New

A what's-new screen of mixed-size tiles that open into detail.

Screen · Account

Settings

A settings home with a collapsing profile header, grouped rows, toggles and sign out.

02

What's included

SwiftUI source you own, built on Apple frameworks only.

  • Onboarding with a real notifications request, handing off to a StoreKit 2 paywall
  • A five-tab shell with habit detail pushes and a Projects empty state
  • A What's New sheet for the 2.0 release
  • Settings with reminders, appearance, subscription and sign out
  • One root view, SubscriptionApp, with your product ids and completion key as parameters

Includes

Onboarding, Welcome, Purchase, Paywall, App Shell, Lessons, Projects, What's New, Settings. Installed together, automatically.

Requires

In-App Purchase capability

In the Build Kit

Subscription Utility (brief). Your agent builds around this template in the same design.

03

Implementation notes

How it behaves, what it handles, and the decisions behind it.

SubscriptionApp is one root view. On first launch it shows the Onboarding screen: three welcome pages, a notifications request, then the Purchase screen's StoreKit 2 paywall as the handoff. Purchasing, restoring or closing the paywall finishes onboarding and records it under a completion key, so the root switches to the home on its own.

Home is the App Shell with five tabs: Today, Habits, Projects, Insights and Profile. Today presents What's New for the 2.0 release as a sheet. Projects starts from a ghost state. Profile pushes Settings, where Manage subscription reopens the paywall full screen and Sign out clears the completion key and returns the app to first run.

Adapting it

  • Products: pass your App Store Connect ids as productIDs. Until they exist, the paywall shows its designed "plans didn't load" state and its close button still finishes onboarding.
  • Completion key: completionKey is the UserDefaults key the flow writes and the root reads. Change it to show onboarding to everyone again, for example after a redesign.
  • Sample data: onboarding copy lives in OnboardingFlowScreenExample.pages and .permission, the tabs in CadenceTab, projects in GhostStateBlockExample, release notes in BentoGridBlockExample, and the account and settings rows at the top of SubscriptionApp.swift.
  • Theme: every screen reads the Design System. Set .environment(\.spTheme, PaperTheme()) or your own theme once on SubscriptionApp to re-skin the whole app.

Notes

  • Not @main: put SubscriptionApp() in your own WindowGroup.
  • Enable the In-App Purchase capability before testing purchases.
  • Three previews ship with the file: first run, home, and home in Paper dark.

04

Keep building

Pieces that work well next to this one.

Template · Finance

Finance App

Ledgerly, a personal finance app: a complete Xcode project with cards, budgets, activity, transfers, widgets and three brand presets.

Template · AI

AI Assistant

Nimbus, an AI assistant: a complete Xcode project with streaming chat, a conversation library, voice mode, widgets and three brand presets.

Screen · Onboarding

Onboarding

First run end to end: welcome pages, a permission step and a trial offer, then into the app.