Files
e-party-iOS/README.md
edwinQQQ 3d00e459e3 feat: 更新文档和视图以支持iOS 17及优化用户体验
- 更新Yana项目文档,调整适用版本至iOS 17,确保与最新开发环境兼容。
- 在多个视图中重构代码,优化状态管理和视图逻辑,提升用户体验。
- 添加默认初始化器以简化状态管理,确保各个Feature的状态一致性。
- 更新视图组件,移除不必要的硬编码,增强代码可读性和维护性。
- 修复多个视图中的逻辑错误,确保功能正常运行。
2025-07-29 17:57:42 +08:00

3.5 KiB
Raw Permalink Blame History

Yana iOS 项目

项目简介

Yana 是一个基于 iOS 平台的即时通讯应用,使用 Swift 语言开发,集成了网易云信 SDK 实现即时通讯功能,并采用 The Composable Architecture (TCA) 架构设计。

技术栈

  • 开发语言Swift (主要)Objective-C (部分组件)
  • 最低支持版本iOS 17
  • 架构模式The Composable Architecture (TCA) - 1.20.2
  • UI 框架SwiftUI
  • 依赖管理
    • CocoaPods
    • Swift Package Manager
  • 主要框架
    • NIMSDK_LITE网易云信即时通讯 SDK (10.6.1)
    • NEChatKit聊天核心组件
    • NEChatUIKit会话聊天UI 组件
    • NEContactUIKit通讯录 UI 组件
    • NELocalConversationUIKit本地会话列表 UI 组件
    • Alamofire网络请求框架
    • ComposableArchitecture状态管理 (v1.20.2+)
    • CasePaths枚举模式匹配

项目结构

yana/
├── yana/                      # 主应用源代码
│   ├── Info.plist
│   ├── yana-Bridging-Header.h # Objective-C 集成桥接头文件
│   ├── AppDelegate.swift      # 应用程序代理
│   ├── yanaApp.swift          # SwiftUI 应用入口
│   ├── ContentView.swift      # 主视图
│   ├── Managers/              # 管理器类
│   ├── Models/                # 数据模型
│   ├── Configs/               # 配置文件
│   ├── APIs/                  # API 相关文件
│   └── Assets.xcassets/       # 资源文件
├── yanaAPITests/              # API 测试目标
└── Pods/                      # CocoaPods 依赖

环境要求

  • Xcode 13.0 或更高版本
  • iOS 17 或更高版本
  • CocoaPods 包管理器

安装步骤

  1. 克隆项目到本地

  2. 在项目根目录执行:

    pod install
    
  3. 打开 yana.xcworkspace 文件

  4. 编译运行项目

主要功能

  • 用户认证
    • 邮箱登录流程(带验证码)
    • 多种认证方式
  • 即时通讯
  • 会话管理
  • 通讯录管理
  • 本地会话列表
  • 云存储集成

UI 组件

项目包含多种自定义 UI 组件:

  • 自定义登录按钮
  • 底部标签导航
  • API 调用加载效果
  • Web 视图集成
  • 图片预览功能
  • 屏幕适配工具

API 使用

项目提供了完整的 API 架构,基于 TCA (The Composable Architecture) 设计:

快速开始

// 基本 API 请求示例
let apiService = LiveAPIService()
let request = ConfigRequest()
let response = try await apiService.request(request)

注意事项

  • 项目使用 CocoaPods 管理依赖
  • 需要配置网易云信相关密钥
  • 最低支持 iOS 17 版本
  • 仅支持 iPhone 设备(不支持 iPad、Mac Catalyst 或 Vision Pro

开发规范

  • 遵循 Swift 官方编码规范
  • 使用 SwiftUI 构建用户界面
  • 采用 TCA 架构模式
  • 支持多语言(包含中文本地化)

测试

项目包含专门的 API 测试目标 "yanaAPITests",用于对主应用的 API 功能进行单元测试。

开发团队

项目由团队 "EKM7RAGNA6" 开发,测试目标的包标识符为 "com.stupidmonkey.yanaAPITests"。

构建配置

  • 项目使用动态框架
  • 支持 iOS 17 及以上版本
  • Swift 版本6.0
  • 已配置框架冲突处理脚本