项目结构
EasyAppSwiftUI 样板文件与文件夹结构概览
项目概览
由于 Apple 到目前为止,官方并没有提供一个最佳的 SwiftUI 项目结构,EasyApp参考了大量的开源项目以及 WWDC 的示例代码,并结合我们自己的经验,提供了一个完整的项目结构,方便整个项目后续的可迭代性、可维护性。
根目录结构
主要应用程序模块,包含所有业务逻辑页面
核心功能库,包含应用的核心服务
可重用的 UI 组件库
AnimatedGradientBackground.swift
AvatarImage.swift
CommonContentUnavailableView.swift
EANavigationLink.swift
EASecureField.swift
EATextField.swift
RequestErrorView.swift
SignInWithAppleButtonView.swift
SocialLinkView.swift
SubscriptionInfoView.swift
TypingTextView.swift
WebView.swift
SwiftUI 视图修饰器
AuthViewModifier.swift
ColorSchemeShadowModifier.swift
FullScreenToastViewModifier.swift
OnboardingViewModifier.swift
RequirePremiumViewModifier.swift
ResignKeyboardOnDragGesture.swift
ShimmerViewModifier.swift
ShowPaywallSheetWhenCalledModifier.swift
ShowWhatsNewsModifier.swift
TappableModifier.swift
ViewBackgroundModifier.swift
Swift 类型扩展
ExtensionColor.swift
ExtensionDate.swift
ExtensionString.swift
ExtensionView.swift
工具类和辅助函数
HapticsEngine.swift
OpenApp.swift
Validate.swift
公共模块和共享状态
AppState.swift
CommonSupabaseViewModel.swift
PaywallNotificationData.swift
应用常量定义
Constants.swift
颜色主题定义
AppColors.swift
自定义样式定义
应用资源文件
本地化资源
Localizable.xcstrings
ContentView.swift
EasyAppSwiftUIApp.swift
AppLaunchScreen.storyboard
目录说明
核心目录
-
App/: 应用程序的主要功能模块,按功能划分为不同的子目录
AIExample/: AI 功能示例和相关页面InAppPurchases/: 内购功能实现LoginAndSignUp/: 用户认证流程MainView/: 应用主界面Onboarding/: 用户引导流程Settings/: 应用设置页面
-
Lib/: 核心功能库,提供应用的基础服务
Auth/: 用户认证管理InAppPurchases/: 内购管理(支持 RevenueCat 和 StoreKit2)Supabase/: Supabase 后端服务集成
UI 组件和样式
- Components/: 可重用的 UI 组件库
- ViewModifier/: SwiftUI 视图修饰器,提供通用的视图行为
- Styles/: 自定义样式定义
- Colors/: 应用颜色主题
工具和扩展
- Extension/: Swift 原生类型的扩展功能
- Utils/: 工具类和辅助函数
- Common/: 公共模块和应用状态管理
- Constants/: 应用常量和配置
资源文件
- Assets.xcassets/: 应用图标、图片等资源
- Resource/: 本地化字符串资源
Last updated on