EasyApp

项目结构

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