Tous les paquets open source
ArchitectureSwift

iOSAppTemplates

21 modèles d'apps SwiftUI pour iOS 18, chacun un package Swift testé que vous pouvez copier sous votre propre nom

25ÉtoilesDernière version: v3.1.0Mis à jour: 15 octobre 2026
Plateformes:iOS 18macOS 14

Licence: MIT

Vingt et un modèles d'apps SwiftUI, du e-commerce et de la finance à la messagerie et au voyage. Chaque modèle est un package Swift autonome avec une app hôte XcodeGen qui utilise uniquement SwiftUI et Foundation. Vingt d'entre eux sont des apps à onglets avec des données d'exemple en mémoire et un store @MainActor couvert par une suite Swift Testing ; CleanArchitectureApp sépare Domain, Data et Presentation en targets distincts et ajoute une couche HTTP, un serveur d'exemple intra-processus et un cache hors ligne, avec des tests pour chaque couche. La commande create-ios-app copie un modèle et renomme son package, son module, ses types, son projet hôte et son identifiant de bundle, et refuse les noms qui entreraient en conflit avec les noms déjà utilisés par le modèle.

Fonctionnalités

  • 21 modèles : 20 types d'apps (assistant IA, réservation, CRM, e-commerce, finance, fitness, messagerie, voyage et plus) plus un CleanArchitectureApp en couches
  • État testé : dans vingt modèles, l'état et les actions résident dans un store @MainActor avec une suite Swift Testing ; CleanArchitectureApp compte 108 tests répartis sur quatre targets de test
  • Aucune dépendance tierce dans les modèles ; ils fonctionnent sans compte, sans clé API ni accès réseau
  • create-ios-app renomme un modèle et refuse les noms qui entreraient en conflit avec ceux qu'il possède déjà (ScaffoldError.nameConflict)
  • CleanArchitectureApp : Domain, Data et Presentation en targets distincts, afin que le compilateur impose la règle de dépendance ; couche HTTP, serveur d'exemple intra-processus, cache hors ligne
  • La CI teste chaque modèle dans le Simulateur iOS comme son propre job, génère et teste un projet produit, et compile l'exemple QuickStart
  • Captures d'écran claires et sombres de chaque modèle, prises dans le simulateur par un script du dépôt

Démarrage rapide

swift
1import EcommerceApp
2 
3@main
4enum QuickStartApp {
5 static func main() {
6 EcommerceAppShell.main()
7 }
8}

Installation

Get the templates

sh
1git clone https://github.com/muhittincamdali/iOSAppTemplates.git

create-ios-app

bash
1cd iOSAppTemplates
2swift run create-ios-app list
3swift run create-ios-app new MyShop --template ecommerce --output ~/Developer

TemplateScaffold library (Swift Package Manager)

swift
1dependencies: [
2 .package(url: "https://github.com/muhittincamdali/iOSAppTemplates.git", from: "3.0.0")
3],
4targets: [
5 .executableTarget(name: "YourTool", dependencies: [
6 .product(name: "TemplateScaffold", package: "iOSAppTemplates")
7 ])
8]

Captures d'écran

Modèle e-commerce, onglet Boutique, apparence claire
Modèle Clean Architecture, répertoire d'équipe, apparence claire
Modèle Clean Architecture, répertoire d'équipe, apparence sombre
Modèle Finances personnelles, apparence claire
Modèle de messagerie, apparence sombre
Modèle Planificateur de voyage, apparence sombre

Chronologie

  1. Dépôt ouvert avec trois packages de modèles (EcommerceApp, FitnessApp, SocialMediaApp) ; la plupart des commits du premier mois étaient de la documentation, et v2.0.0 a été publiée le 17 août

  2. Dix-sept packages de modèles supplémentaires ajoutés sous Templates/, portant le total à vingt ; v2.1.0 étiquetée le 26 avril

  3. Scripts de preuve supprimés et métadonnées App Store ainsi qu'un mode interactif ajoutés à l'ancien create-ios-app ; le contrôle de fumée du générateur de modèles de la CI était rouge et les tests des modèles étaient des espaces réservés

  4. Reconstruit en 3.0.0 : vingt modèles testés, un create-ios-app réécrit et la bibliothèque TemplateScaffold ; le package racine, qui ne compilait plus avec Swift 6.4, a été réduit à l'outil et à sa bibliothèque, et environ 82 000 lignes de code inutilisé ont été supprimées (PR #22)

  5. 3.1.0 : CleanArchitectureApp ajouté comme 21e modèle, réécrit à partir de ios-clean-architecture-template, qui a été archivé (PR #23)

Liens

Dépôts fusionnés

Article associé

Lire l'article