cd /news/developer-tools/zed-ios-app-starter Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-95869] src=zander.wtf β†— pub= topic=developer-tools verified=true sentiment=Β· neutral

zed-ios-app-starter

Zed Industries developer Zander Martineau released zed-ios-app-starter, a SwiftUI and SwiftData template for native iOS 18+ apps with no third-party dependencies, as the fourth member of the Zed Stack. The template includes a tab layout, SwiftData model, preferences, onboarding, theme, and accessibility support, and uses an Xcode file-system synchronized group so adding files requires no project-file edits. A scaffold.sh script and the Zero project factory automate copying and renaming the template for new projects.

read1 min views16 publishedAug 12, 2026

Put together zed-ios-app-starter, a template for native iOS apps and the fourth member of the Zed Stack. It's SwiftUI and SwiftData targeting iOS 18+, and β€” unusually for me β€” it has no third-party dependencies at all.

It ships the shell I'd otherwise rebuild every single time: a tab layout with a NavigationStack

per tab, one SwiftData @Model

wired all the way through list, detail, edit and delete, an @Observable

preferences object over UserDefaults

(because @AppStorage

only works inside a View

, which means anything a model needs ends up threaded through the view tree), a first-launch onboarding walkthrough you can replay from Settings, an animated splash over a matching launch-screen colour so there's no white flash, a theme with spacing and radius scales, and Reduce Motion and VoiceOver handling. StoreKit 2 in-app purchases and a streaming Claude API chat client are both in there but switched off by default β€” turn one on or delete its folder.

The bit I'm most pleased with is that adding files needs no project-file edits. The target uses an Xcode file-system synchronized group, so anything dropped into the source directory gets compiled automatically, new folders included. The only things needing a project.pbxproj

change are files that must be excluded.

There's a scaffold.sh

that copies the template to a new directory and renames everything β€” target, scheme, @main

struct, bundle id, StoreKit product ids β€” because AppStarter

becomes struct AppStarterApp

and a hyphenated repo name simply won't compile. Zero, my project factory, now does the same substitutions in CI, so type: ios

is one more option on the form.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @zed industries 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/zed-ios-app-starter] indexed:0 read:1min 2026-08-12 Β· β€”