iOSAppTemplates
21 modèles d'apps SwiftUI pour iOS 18, chacun un package Swift testé que vous pouvez copier sous votre propre nom
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
1import EcommerceApp2 3@main4enum QuickStartApp {5 static func main() {6 EcommerceAppShell.main()7 }8}Installation
Get the templates
1git clone https://github.com/muhittincamdali/iOSAppTemplates.gitcreate-ios-app
1cd iOSAppTemplates2swift run create-ios-app list3swift run create-ios-app new MyShop --template ecommerce --output ~/DeveloperTemplateScaffold library (Swift Package Manager)
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






Chronologie
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
Dix-sept packages de modèles supplémentaires ajoutés sous Templates/, portant le total à vingt ; v2.1.0 étiquetée le 26 avril
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
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)
3.1.0 : CleanArchitectureApp ajouté comme 21e modèle, réécrit à partir de ios-clean-architecture-template, qui a été archivé (PR #23)