iOSAppTemplates
iOS 18 向けの21個の SwiftUI アプリテンプレート。いずれもテスト済みの Swift パッケージで、自分の名前でコピーできます
ライセンス: MIT
e コマースやファイナンスからメッセージング、旅行まで、21個の SwiftUI アプリテンプレートです。各テンプレートは、SwiftUI と Foundation だけを使う XcodeGen のホストアプリを備えた、独立した Swift パッケージです。そのうち20個はメモリ上のサンプルデータと、Swift Testing suite でカバーされた @MainActor store を持つタブ型のアプリです。CleanArchitectureApp は Domain、Data、Presentation を別々のターゲットに分割し、HTTP レイヤー、プロセス内のサンプルサーバー、オフラインキャッシュを追加し、各レイヤーをテストしています。create-ios-app コマンドはテンプレートをコピーし、その package、モジュール、型、ホストプロジェクト、bundle identifier の名前を変更しますが、テンプレートが既に使っている名前と衝突する名前は拒否します。
機能
- 21個のテンプレート: 20種類のアプリタイプ(AI アシスタント、予約、CRM、e コマース、ファイナンス、フィットネス、メッセージング、旅行など)と、レイヤー分割された CleanArchitectureApp
- テスト済みの状態管理: 20個のテンプレートでは状態とアクションが Swift Testing suite を持つ @MainActor store にあり、CleanArchitectureApp は4つのテストターゲットに108個のテストを持っています
- テンプレートにサードパーティへの依存はなく、アカウント、API キー、ネットワークアクセスなしで動作します
- create-ios-app はテンプレートの名前を変更し、既にある名前と衝突する名前を拒否します (ScaffoldError.nameConflict)
- CleanArchitectureApp: Domain、Data、Presentation を別々のターゲットにすることでコンパイラが依存関係のルールを強制します。HTTP レイヤー、プロセス内のサンプルサーバー、オフラインキャッシュも備えます
- CI は各テンプレートを iOS Simulator 上で個別の job としてテストし、生成したプロジェクトを scaffold してテストし、QuickStart のサンプルをビルドします
- 各テンプレートのライトモードとダークモードのスクリーンショットを、リポジトリ内のスクリプトでシミュレータ上から取得しています
クイックスタート
1import EcommerceApp2 3@main4enum QuickStartApp {5 static func main() {6 EcommerceAppShell.main()7 }8}インストール
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]スクリーンショット






タイムライン
3つのテンプレートパッケージ(EcommerceApp、FitnessApp、SocialMediaApp)でリポジトリを公開。最初の1ヶ月のコミットの大半はドキュメントで、v2.0.0 は 17 August に公開されました
Templates/ 配下にさらに17個のテンプレートパッケージが追加され、合計20個になりました。v2.1.0 は 26 April にタグ付け
証跡用スクリプトが削除され、旧 create-ios-app に App Store 用メタデータ生成と対話モードが追加。CI のテンプレート生成の smoke チェックは失敗しており、テンプレートのテストは placeholder のままでした
3.0.0 として作り直し: テスト済みの20個のテンプレート、書き直した create-ios-app、TemplateScaffold ライブラリ。Swift 6.4 ではビルドできなくなっていたルートパッケージはツールとそのライブラリだけに縮小され、使われていないコード約82,000行が削除されました (PR #22)
3.1.0: CleanArchitectureApp が21番目のテンプレートとして追加。ios-clean-architecture-template から書き直されたもので、同リポジトリはアーカイブされました (PR #23)