Get your iOS Starter Kit running in 45-60 minutes.
Requirements: macOS, Xcode 16+, iOS 18+
| # | Task | Time | Guide |
|---|---|---|---|
| 1 | Apple Developer Setup | 15 min | → Guide |
| 2 | Clone Project | 2 min | Inline below |
| 3 | Xcode Configuration | 5 min | → Guide |
| 4 | Supabase Backend | 12 min | → Guide |
| 5 | Firebase (Optional) | 8 min | → Guide |
| 6 | Google OAuth | 10 min | → Guide |
| 7 | RevenueCat | 10 min | → Guide |
| 8 | App Configuration | 5 min | → Guide |
| 9 | Build & Run | 2 min | Inline below |
git clone https://github.com/yourusername/ios-starter-kit.git
cd ios-starter-kit
open iOSJumpstart.xcworkspaceImportant: Always open .xcworkspace, NOT .xcodeproj
./scripts/rename_app.sh iOSJumpstart YourAppName
./scripts/change_bundle_id.sh com.mosal com.yourname- In Xcode, select a simulator (e.g., iPhone 15 Pro)
- Press ⌘B or Product → Build
- Wait for build to complete
- Press ⌘R or Product → Run
- App should launch in simulator
- Complete onboarding flow
- Test sign-in with Apple or Google
Test these features:
- ✅ Sign in with Apple works
- ✅ Google Sign-In works
- ✅ User profile loads
- ✅ Subscription paywall appears (if configured)
- ✅ Notifications permission request (if Firebase configured)
"No signing certificate"
- Ensure your Apple Developer account is active
- Select your Team in Xcode → Signing & Capabilities
"Module not found"
- Clean build folder (⌘⇧K)
- Close and reopen workspace
"AppConfiguration error"
- Verify all keys in AppConfiguration.swift
- Check Supabase URL and anon key
Sign-in doesn't work
- Verify Supabase Auth providers are enabled
- Check Google Client IDs in Info.plist and Supabase
Subscriptions don't load
- Verify RevenueCat API keys
- Check StoreKit configuration file
- Ensure products exist in App Store Connect
Learn how to build features:
- Navigation - Add new screens
- Events - Cross-module communication
- Repositories - Data layer patterns
- File Uploads - Upload to Supabase storage
- Notifications - Permission handling
- Tabs - Add tabs to TabView
- Dependency Injection - DI patterns
Ready to ship? See:
- Deployment Guide - TestFlight and App Store submission
- Troubleshooting - Common issues and fixes
- Issues: GitHub Issues
- Troubleshooting: Troubleshooting Guide
- Contributing: Contributing Guide