6b960f53b4f76b1eed461b00efd7b125f9ac40bb

- 将SplashV2替换为SplashPage,优化应用启动流程。 - 在LoginModels中将用户ID参数更改为加密后的ID,增强安全性。 - 更新AppConfig中的API基础URL,确保与生产环境一致。 - 在CommonComponents中添加底部Tab栏图标映射逻辑,提升用户体验。 - 新增NineGridImagePicker组件,支持多图选择功能,优化CreateFeedPage的图片选择逻辑。 - 移除冗余的BottomTabView组件,简化视图结构,提升代码整洁性。 - 在MainPage中整合创建动态页面的逻辑,优化导航体验。 - 新增MePage视图,提供用户信息管理功能,增强应用的可用性。
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 包管理器
安装步骤
-
克隆项目到本地
-
在项目根目录执行:
pod install
-
打开
yana.xcworkspace
文件 -
编译运行项目
主要功能
- 用户认证:
- 邮箱登录流程(带验证码)
- 多种认证方式
- 即时通讯
- 会话管理
- 通讯录管理
- 本地会话列表
- 云存储集成
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
- 已配置框架冲突处理脚本
Description
Languages
Swift
95%
Python
3.3%
Ruby
1.6%
C
0.1%