
iOS Templates
Our optimized iOS template for shipping SwiftUI apps powered by Tuist 4 and Swift Package Manager (SPM).
- Ruby
3.2+ - Xcode
26+ - Swift
6.1+ - mise – manages Ruby, Tuist, and xcbeautify versions via
.mise.toml
- ✅ SwiftUI-only interface – UIKit scaffolding has been removed
- ✅ SPM-only dependencies – CocoaPods and Podfiles are no longer generated
- ✅ Tuist 4.110.3 manifests using the latest
ProjectDescriptionhelpers - ✅ Clean modular architecture: Domain + Data layers as SPM frameworks
- ✅ Dependency injection via Factory
- ✅ BDD unit testing with Quick + Nimble; UI testing via KIF
- ✅ Code quality tools: SwiftLint, SwiftFormat, Danger, xcov
- ✅ Secret management via Arkana
- ✅ Multi-platform CI/CD (GitHub Actions, Bitrise, CodeMagic) with Fastlane Swift DSL
- ✅ Four build configurations: Debug/Release × Staging/Production
- Create your repository by pressing the
Use this templatebutton in this repository or create a new repository and usenimblehq/ios-templatesas a repository template. - Clone your repository.
- Install tool versions and Ruby dependencies:
mise install
- Generate the project by running the following command in your terminal:
This will substitute all placeholders, run
swift run --package-path scripts/iOSTemplateMaker iOSTemplateMaker make \ --bundle-id-production com.example.app \ --bundle-id-staging com.example.app.staging \ --bundle-id-dev com.example.app.dev \ --project-name YourProjectName
tuist generate, install the project Ruby dependencies inside the generated app, and open the project automatically. - Open
<YourProject>.xcodeprojin Xcode (SPM dependencies appear in Package Dependencies).
See the Wiki for full documentation, project details and other information.
This project is Copyright (c) 2014 and onwards. It is free software, and may be redistributed under the terms specified in the LICENSE file.
This project is maintained and funded by Nimble.
We love open source and do our part in sharing our work with the community! See our other projects or hire our team to help build your product.