Ship your iOS app faster.

Production-ready SwiftUI starter with Firebase, authentication, subscriptions, and analytics already built-in.

SignInView.swift
AuthManager.swift
struct SignInContent: View {
var body: some View {
List {
SSInfoSection(
icon: "person.circle",
title: "Sign In or Create Account",
subtitle: "Sign in with your preferred method."
)
}
.safeAreaInset(edge: .bottom) {
VStack {
SignInWithAppleButton()
SignInWithGoogleButton()
SignInWithGitHubButton()
SignInWithPhoneNumberButton()
SignInWithPasswordButton()
SignInWithEmailButton()
}
}
}
}

Introduction

Getting started

SwiftStruct is a production-ready iOS starter kit that includes everything you need to ship your app faster. Built with SwiftUI, Firebase, RevenueCat, and Sentry—all the boring stuff is already done.

Installation

Step-by-step guides to setting up your system and installing SwiftStruct.

Architecture guide

Learn how the internals work and contribute.

Firebase

Configure Firebase Authentication, Firestore, Storage, and Functions.

RevenueCat

Setup in-app purchases and subscriptions with RevenueCat.


Quick start

Clone the repository

git clone https://github.com/phoqe/swiftstruct.git my-app-name
cd my-app-name

Run the setup script

npm run setup

The setup script will prompt you for:

  • Project name (kebab-case, e.g., my-app)
  • Display name (human-readable, e.g., My App)
  • Bundle identifier (reverse domain, e.g., com.company.myapp)

The setup script will:

  • Install all dependencies
  • Prompt you for project details (name, display name, bundle ID)
  • Rename files and update configurations
  • Create .env from .env.example
  • Configure git remotes (rename origin → template, disable push to template)
  • Set up your GitHub repository (create new or use existing)
  • Commit all setup changes and push to GitHub

Complete the setup

Follow the complete setup guide at the Installation page for Firebase configuration, environment variables, and deployment.


Getting help

Submit an issue

If you encounter any bugs or have feature requests, please open an issue on GitHub.

Join the community

Join our Discord community to get help, share your projects, and connect with other SwiftStruct users.