TL;DR
- 10 steps from zero to TestFlight — install Xcode, create a Watch App project, build a SwiftUI view, run on simulator, run on a real watch, ship to TestFlight
- What you need: a Mac, Xcode (free), Apple Developer account ($99/year for shipping), and ideally a real Apple Watch for testing
- Time required: 30 minutes to a working app on the simulator. 1–2 days to a TestFlight build on a real watch
- This tutorial assumes you know basic Swift. If you don't, see our Swift guide first
- Applefy ships native watchOS apps as part of our standard iOS engagement — use this tutorial to learn, hire us when it's time to ship for real users
Written by the Applefy team — these are the exact steps we use when onboarding a new engineer to watchOS development.
This is the practical "how do I actually create an Apple Watch app" tutorial. We're going to go from a blank Mac to a working SwiftUI watch app on a real Apple Watch, then push it to TestFlight.
Strategy and architecture are covered elsewhere. (See our founder's guide for when watchOS makes sense, and our architecture guide for native vs companion.) This article is just the steps.
Prerequisites
- Mac: Apple Silicon (M1–M4) recommended. Older Intel Macs work but compile slowly.
- Free disk space: at least 30GB for Xcode and simulators.
- Apple ID: any Apple ID works for local testing. You need a paid Developer account ($99/year) to ship to TestFlight or the App Store. (See our enrollment guide.)
- Apple Watch (optional but strongly recommended): the simulator is fine for the first hours. Real device required before shipping.
- Basic Swift knowledge: this tutorial assumes you can read Swift. If not, start with Swift Playgrounds or 100 Days of SwiftUI first.
Step 1: Install Xcode
Open the Mac App Store. Search for Xcode. Click Install. Xcode is free.
The download is large (around 10–15 GB). On a slow connection, plan an evening. After install, open Xcode once to accept the license and let it install additional components.
Step 2: Create a New Project
- Open Xcode.
- From the welcome screen, click Create a new Xcode project. Or use File → New → Project.
- In the template picker, select the watchOS tab at the top.
- Choose App as the template.
- Click Next.
Step 3: Configure the Project
- Product Name: something simple like
MyFirstWatchApp. - Team: select your Apple ID. If empty, sign in via Xcode → Settings → Accounts.
- Organization Identifier: a reverse-domain string like
com.yourname. Forms the bundle ID with your product name. - Interface: SwiftUI. Don't pick Storyboard.
- Language: Swift.
- Include Tests: leave checked.
- Click Next, choose a save location, and click Create.
Xcode generates the project. You now have a working watchOS app skeleton.
Step 4: Understand the Project Structure
The default project gives you:
FilePurposeMyFirstWatchAppApp.swiftApp entry point. Defines the root sceneContentView.swiftThe first SwiftUI view shown when the app launchesAssets.xcassetsApp icon, color sets, image assetsPreview Content/SwiftUI canvas preview assets
Most beginner work happens in ContentView.swift. Open it.
Step 5: Build Your First View
Replace the contents of ContentView.swift with a simple counter view:
struct ContentView: View { @State private var count = 0; var body: some View { VStack { Text("Tap count").font(.caption); Text("\(count)").font(.title); Button("Tap me") { count += 1 } } } }
This shows a label, a count, and a button that increments the count when tapped. Save the file.
Step 6: Run on the Simulator
- At the top of Xcode, find the device selector (next to the Run button).
- Choose an Apple Watch simulator — "Apple Watch Series 10 (45mm)" is a good default.
- Click the Run button (the play icon) or press
⌘R.
Xcode builds the project, launches the simulator, and installs your app. After a few seconds, your watch app appears on the simulated watch screen. Tap the button. The count increments.
Congratulations — you have a working Apple Watch app.
Step 7: Run on a Real Apple Watch
The simulator is good enough for early development. Real-device testing is required before shipping. Here's how:
- Pair your Apple Watch with your iPhone if you haven't already.
- Connect the iPhone to your Mac via USB or Wi-Fi (in Xcode → Window → Devices and Simulators).
- Trust the Mac on the iPhone if prompted.
- In Xcode, select your real Apple Watch as the run target (top device selector).
- Click Run.
The first build to a real watch takes longer than to the simulator (5–10 minutes). It also requires a free Apple ID signed into Xcode under Settings → Accounts. After the first build, the app appears on your watch.
Step 8: Add a Complication
To make your app feel like a real watchOS app, add a complication that surfaces data on the watch face.
- File → New → Target.
- Choose Widget Extension.
- Name it
MyAppComplication. - Make sure Include Configuration App Intent is unchecked for a simple complication.
- Embed it into your watchOS app target.
Xcode generates a WidgetKit complication template. Edit the timeline provider and view to display data from your app. (See our complications guide for the design rules.)
Step 9: Build for TestFlight
To distribute your app to beta testers, you need a Developer account ($99/year) and an App Store Connect record:
- Go to appstoreconnect.apple.com.
- Click My Apps → + → New App.
- Fill in the app name, primary language, bundle ID (must match Xcode exactly), SKU.
- Save.
- Back in Xcode: Product → Archive. Wait for the build to complete.
- In the Organizer window that opens, select your archive and click Distribute App.
- Choose App Store Connect → Upload → follow the prompts.
- After the upload processes (10–30 minutes), the build appears in App Store Connect under TestFlight.
- Add internal testers (up to 100) or submit for external beta review (up to 10,000).
Your app is now on TestFlight. (See our TestFlight guide for full beta workflow.)
Step 10: Submit to the App Store
When ready for production:
- In App Store Connect, complete the App Information section: name, subtitle, description, keywords, categories, screenshots.
- Set a price (free or paid tier).
- Complete the App Privacy questionnaire.
- Attach your TestFlight build to the version.
- Click Submit for Review.
Apple's review takes 24–48 hours typically. (See our App Store publishing guide for review tips and the most common rejection reasons.)
Common Errors at Each Step
- "No team selected": sign in to Xcode → Settings → Accounts with your Apple ID.
- "Untrusted Developer" on the watch: on the watch, Settings → General → VPN & Device Management → trust your developer profile.
- Build fails with provisioning errors: in the project's Signing & Capabilities tab, enable "Automatically manage signing".
- Simulator doesn't appear in device list: Window → Devices and Simulators → Simulators tab → + → add an Apple Watch simulator.
- Real watch doesn't appear in device list: make sure the iPhone is unlocked and connected, then wait — it can take 30–60 seconds to appear after first connection.
What to Build Next
You've shipped a working Apple Watch app. From here:
- Add HealthKit integration if your app touches fitness data (see our health and fitness guide).
- Improve the design with HIG-native patterns (see our HIG design guide).
- Decide your architecture: independent or companion (see our architecture guide).
- If your idea is shipping to paying users, consider working with a studio that's done it before. (See our how Applefy works guide.)
When to Bring in a Professional Studio
This tutorial gets you a working watchOS app. It does not get you a production-grade product.
If you're shipping to paying users, handling health data, building a complex multi-device platform, or need it shipped on a deadline, work with a team that's been through it before. That's where Applefy fits — we ship native watchOS apps with senior engineers, transparent pricing, no junior handoffs.
Book a free conversation: applefy.tech
Frequently Asked Questions
How do I create an Apple Watch app from scratch?
Install Xcode (free from the Mac App Store), create a new project with the watchOS App template, choose SwiftUI as the interface, write your view code in ContentView.swift, run on the simulator or a real Apple Watch, then submit to TestFlight when ready.
Do I need to know Swift to create an Apple Watch app?
Yes. Swift is the language. SwiftUI is the UI framework. Both are required. If you don't know Swift yet, start with Apple's free Swift Playgrounds app or Hacking With Swift's 100 Days of SwiftUI before this tutorial.
Can I create an Apple Watch app without a real Apple Watch?
For learning and prototyping, yes — the Xcode simulator is enough. For shipping a production app, no. The simulator misrepresents touch targets, Always-On Display behavior, battery, and Digital Crown feel.
Can I create an Apple Watch app on Windows or Linux?
No. Xcode runs only on macOS. You need a Mac. Apple Silicon (M1–M4) is recommended for compile speed.
How long does it take to create a basic Apple Watch app?
30 minutes from a fresh Xcode install to a working app on the simulator. 1–2 days to a TestFlight build on a real watch. Production-quality apps take 4–12+ weeks of senior engineering.
What's the difference between a watchOS App and a Watch App for iOS App?
The modern "App" template creates an independent watchOS app. The older "Watch App for iOS App" template creates a companion-only watch extension to an iPhone app. For new projects, use the independent App template. (See our architecture guide.)
How do I add health data to my Apple Watch app?
Use HealthKit. Add the HealthKit capability in your project's Signing & Capabilities tab, declare the purpose strings in Info.plist, request authorization at runtime, and read or write the relevant data types. Health apps require additional App Store review attention. (See our health and fitness guide.)
How do I get my Apple Watch app on the App Store?
Archive in Xcode, upload to App Store Connect, attach the build to a version, complete the listing (name, screenshots, privacy info), and submit for review. Apple reviews most apps in 24–48 hours. (See our App Store publishing guide.)
What's the simplest first Apple Watch app to create?
A timer, a counter, a hydration tracker, or a breathing reminder. Single-purpose, single-screen, no networking, no HealthKit. Each can be built in a weekend and teaches the platform's core constraints.
How does Applefy support founders learning watchOS?
For founders learning to code, we share resources and the same CLAUDE.md we use internally. For founders ready to ship to paying users, we build the watchOS app for them while they focus on their business. Free first call to evaluate the right path: applefy.tech



