# 白牌项目版本化改造计划(混合方案 C) ## 核心策略 **版本发布路线**: - 0.2.0: Login + Moment + Mine(无IM/TRTC SDK) - 0.5.0: 增加 Message Tab + 用户关系(引入 NIMSDK) - 1.0.0: 完整功能(引入 TRTC SDK) **技术方案**(分支删除法 + 主分支保持干净): - 主分支(`white-label-base`):完整代码,无任何宏,正常开发 - 提审分支(`release/v0.x-prepare`):提审前 7 天创建,物理删除不需要的代码和 SDK - 悬浮 TabBar 设计(液态玻璃/毛玻璃) - Mine 模块重构为"个人主页"模式 **分支策略**: ``` master (原项目) ↓ white-label-base (白牌主分支,完整代码,无宏) ↓ 提审前创建发布分支(物理删除代码) ├─ release/v0.2-prepare → 删除 IM/TRTC ├─ release/v0.5-prepare → 删除 TRTC └─ release/v1.0-prepare → 保留全部 ``` --- ## Phase 1: 完善白牌基础功能(Day 1-3) ### 1.1 当前状态确认 **已完成**(white-label-base 分支): - ✅ Swift TabBar(NewTabBarController,2 个 Tab) - ✅ Moment 模块(NewMomentViewController + NewMomentCell) - ✅ Mine 模块(NewMineViewController,基础版) - ✅ API 域名加密(APIConfig.swift) - ✅ GlobalEventManager(全局事件管理) - ✅ 登录入口替换(PILoginManager.m,手动登录) **待完善**: - ⏳ 悬浮 TabBar 设计(当前是传统 TabBar) - ⏳ Mine 个人主页模式(当前是菜单列表) - ⏳ 自动登录入口替换(AppDelegate.m) **策略**:在 white-label-base 分支继续开发,**不添加任何宏** --- ### 1.2 重构 NewTabBarController 为悬浮设计 **文件**:`YuMi/Modules/NewTabBar/NewTabBarController.swift` **设计要点**: 1. 隐藏原生 TabBar 2. 创建自定义悬浮容器(两侧留白 16pt,底部留白 12pt) 3. 液态玻璃效果(iOS 18+)/ 毛玻璃效果(iOS 13-17) 4. 圆角胶囊形状(cornerRadius: 28) 5. 边框和阴影 --- ### 1.3 重构 Mine 模块为个人主页模式 **文件**: - `YuMi/Modules/NewMine/Controllers/NewMineViewController.m`(重构) - `YuMi/Modules/NewMine/Views/NewMineHeaderView.h/m`(新建) **设计目标**: ``` 原设计:横向头部 + 菜单列表 新设计:个人主页模式 ├─ 顶部:大圆形头像 + 昵称 + ID + 设置按钮 └─ 底部:用户发布的动态列表(复用 NewMomentCell) ``` --- ### 1.4 替换自动登录入口 **文件**:`YuMi/Appdelegate/AppDelegate.m` **修改方法**:`- (void)toHomeTabbarPage` --- ## Phase 2: 0.2 版本发布准备(Day 4-5) ### 2.1 创建发布分支 **时间**:提审前 7 天 **操作**: ```bash git checkout white-label-base git checkout -b release/v0.2-prepare ``` --- ### 2.2 删除 IM/TRTC 相关代码 **创建删除脚本**:`scripts/prepare-v0.2.sh` 删除内容: - YuMi/Modules/YMSession(会话列表) - YuMi/Modules/YMChat(聊天页面) - YuMi/Modules/YMRoom(房间模块) - YuMi/Modules/YMCall(通话模块) - YuMi/Modules/Gift(礼物系统) - YuMi/Modules/YMGame(游戏模块) - YuMi/Global/GlobalEventManager.h/m 预计删除:50-80 个文件,~30,000 行代码 --- ### 2.3 清理 Podfile 删除以下依赖: - NIMSDK(IM SDK) - TXLiteAVSDK_TRTC(TRTC SDK) - SVGAPlayer(礼物动画) 保留基础依赖: - AFNetworking - MJRefresh - SDWebImage - Masonry - GoogleSignIn --- ### 2.4 自动清理 import 引用 **脚本**:`scripts/clean-imports-v0.2.sh` 批量删除: - `#import ` - `#import ` - `#import "GlobalEventManager.h"` --- ### 2.5 编译测试 - 清理缓存 - xcodebuild 编译 - 检查 IPA 大小(预期 ~40MB) - 检查符号表(确认 SDK 完全移除) --- ## Phase 3: 资源准备与元数据(Day 6) ### 3.1 设计资源清单 **P0 资源**(提审必须): - AppIcon(1 套) - 启动图(1 张) - TabBar icon(4 张) **P1 资源**(建议完善): - 点赞图标(2 张) - 评论图标(1 张) - 设置图标(1 张) **设计规范**: - 主色调:深紫 #4C3399 → 蓝 #3366CC - TabBar:圆角 28pt,毛玻璃 - 图标:线性风格,2pt 描边 --- ### 3.2 修改 Bundle ID - Bundle Identifier:`com.newcompany.eparty.v02` - Display Name:`EParty Lite` - Version:`0.2.0` - Build:`1` --- ### 3.3 准备 App Store 元数据 **应用名称**:EParty Lite / 派对时光 轻量版 **副标题**:Share Your Life Moments **描述**:轻量级社交平台,分享生活每一刻 --- ## Phase 4: 构建与提审(Day 7) ### 4.1 Archive 构建 ```bash xcodebuild -workspace YuMi.xcworkspace \ -scheme YuMi \ -configuration Release \ -archivePath build/YuMi-v0.2.xcarchive \ archive ``` --- ### 4.2 导出 IPA ```bash xcodebuild -exportArchive \ -archivePath build/YuMi-v0.2.xcarchive \ -exportPath build/YuMi-v0.2-IPA \ -exportOptionsPlist ExportOptions.plist ``` --- ### 4.3 真机测试清单 **登录模块**: - [ ] 手机号登录 - [ ] 验证码接收 - [ ] 登录状态持久化 **Moment 模块**: - [ ] 列表加载 - [ ] 下拉刷新 - [ ] 点赞功能 - [ ] 卡片式 UI **Mine 模块**: - [ ] 个人主页显示 - [ ] 用户动态列表 - [ ] 设置按钮 **TabBar**: - [ ] 悬浮效果 - [ ] 毛玻璃显示 - [ ] 切换流畅 --- ### 4.4 上传 App Store 使用 Xcode Organizer 或 Transporter 上传 --- ## Phase 5: 后续版本(Day 8+) ### 5.1 v0.5 版本(3 周后) **删除内容**:只删除 TRTC,保留 IM **Podfile**: ```ruby pod 'NIMSDK' # ✅ 保留 # pod 'TXLiteAVSDK_TRTC' # ❌ 删除 ``` **元数据**: - Bundle ID:`com.newcompany.eparty.v05` - Display Name:`EParty Plus` --- ### 5.2 v1.0 版本(7 周后) **删除内容**:无(完整版本) **Podfile**:保留所有依赖 **元数据**: - Bundle ID:`com.newcompany.eparty` - Display Name:`EParty` --- ## 时间轴总结 ``` Day 1-3: 完善白牌基础功能 Day 4-5: 准备 v0.2 发布分支 Day 6: 资源准备与元数据 Day 7: 构建与提审 Week 4: v0.2 审核中 Week 7: 准备 v0.5(如果 v0.2 过审) Week 11: 准备 v1.0(如果 v0.5 过审) ``` --- ## 关键文件清单 ### 脚本文件(6 个) 1. scripts/prepare-v0.2.sh 2. scripts/clean-imports-v0.2.sh 3. scripts/archive-v0.2.sh 4. scripts/export-v0.2.sh 5. scripts/prepare-v0.5.sh 6. ExportOptions.plist ### 文档文件(4 个) 1. docs/DESIGN_ASSETS_CHECKLIST.md 2. docs/APPSTORE_METADATA_v0.2.md 3. docs/TEST_CHECKLIST_v0.2.md 4. docs/WHITE_LABEL_ROADMAP.md ### 代码文件(white-label-base,4 个) 1. YuMi/Modules/NewTabBar/NewTabBarController.swift(重构) 2. YuMi/Modules/NewMine/Controllers/NewMineViewController.m(重构) 3. YuMi/Modules/NewMine/Views/NewMineHeaderView.h/m(新建) 4. YuMi/Appdelegate/AppDelegate.m(修改) --- ## 优势总结 **vs 编译宏方案**: - ✅ 主分支代码干净(无宏污染) - ✅ 实施简单(提审前删除即可) - ✅ 维护成本低(主分支正常开发) - ✅ 灵活性高(可随时调整删除内容) - ✅ IPA 安全(物理删除,无残留) **核心理念**: > "主分支保持完整和干净,发布分支作为一次性的打包工具。"