
- 创建 NewMomentViewController(OC) * 列表式布局 + 下拉刷新 + 滚动加载 * 发布按钮(右下角悬浮) * 使用模拟数据 - 创建 NewMomentCell(OC) * 卡片式设计(白色卡片 + 阴影) * 圆角矩形头像(不是圆形!) * 底部操作栏(点赞/评论/分享) - 创建 NewMineViewController(OC) * TableView 布局 + 8 个菜单项 * 设置按钮(右上角) - 创建 NewMineHeaderView(OC) * 渐变背景(蓝色系) * 圆角矩形头像 + 白色边框 * 昵称、等级、经验进度条 * 关注/粉丝统计 * 纵向卡片式设计 - 集成到 NewTabBarController * 使用真实的 ViewController 替换占位 * 支持登录前/后状态切换 - 更新 Bridging Header * 添加新模块的 OC 类引用 - 创建测试指南文档 * 如何运行新 TabBar * 测试清单 * 常见问题解答 新增文件: - NewMomentViewController.h/m - NewMomentCell.h/m - NewMineViewController.h/m - NewMineHeaderView.h/m - white-label-test-guide.md 代码量:约 1500 行
4.9 KiB
4.9 KiB
白牌项目测试指南
如何运行新的 TabBar
方式 1:在 AppDelegate 中替换根控制器(推荐)
在 AppDelegate.m
中找到设置根控制器的代码,临时替换为 NewTabBarController:
#import "YuMi-Swift.h" // 引入 Swift 类
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ... 其他初始化代码
// 临时使用新的 TabBar(测试用)
NewTabBarController *tabBar = [NewTabBarController create];
[tabBar refreshTabBarWithIsLogin:YES]; // 模拟已登录状态
self.window.rootViewController = tabBar;
[self.window makeKeyAndVisible];
return YES;
}
方式 2:通过通知切换(推荐用于测试)
在任意位置发送通知切换到新 TabBar:
#import "YuMi-Swift.h"
// 在某个按钮点击或测试代码中
NewTabBarController *tabBar = [NewTabBarController create];
[tabBar refreshTabBarWithIsLogin:YES];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
window.rootViewController = tabBar;
测试清单
Phase 1 - Day 1-3 测试(基础架构)
1. APIConfig 域名测试
// 在 Debug 模式下运行
APIConfig.testEncryption()
// 检查 Console 输出:
// Release 域名: https://api.epartylive.com
// 当前环境域名: [测试域名]
// 备用域名: [测试域名]
2. GlobalEventManager 测试
- 启动 App,检查 Console 是否输出:
[GlobalEventManager] SDK 代理设置完成
[GlobalEventManager] 通知监听已设置
[GlobalEventManager] 房间最小化视图已添加
3. NewTabBarController 测试
- TabBar 正常显示(2 个 Tab)
- Tab 切换流畅
- Tab 图标正常显示(如果图片存在)
- 主色调应用正确(蓝色系)
4. NewMomentViewController 测试
- 页面正常加载
- 列表正常显示(模拟数据)
- 下拉刷新功能正常
- 滚动到底部自动加载更多
- 发布按钮显示在右下角
- 点击 Cell 显示提示
- 点击发布按钮显示提示
UI 检查:
- 卡片式布局(白色卡片 + 阴影)
- 圆角矩形头像(不是圆形!)
- 底部操作栏(点赞/评论/分享)
- 浅灰色背景
- 15px 左右边距
5. NewMineViewController 测试
- 页面正常加载
- 顶部个人信息卡片显示
- 渐变背景(蓝色渐变)
- 头像(圆角矩形 + 白色边框)
- 昵称、等级显示
- 经验进度条正常
- 关注/粉丝数显示
- 菜单列表正常显示(8 个菜单项)
- 点击菜单项显示提示
- 右上角设置按钮正常
UI 检查:
- 头部高度约 280px
- 渐变背景(蓝色系)
- 所有文字使用白色
- 菜单项高度 56px
- 菜单项带右箭头
预期效果
代码层面
- Swift 文件:5 个(APIConfig, NewTabBarController 等)
- OC 新文件:6 个(GlobalEventManager, Moment, Mine 模块)
- 总新增代码:约 1500 行
- 代码相似度:预计 <20%(因为是全新代码)
UI 层面
- TabBar 只有 2 个 Tab(vs 原来的 5 个)
- 完全不同的颜色方案(蓝色系)
- 卡片式设计(vs 原来的列表式)
- 圆角矩形头像(vs 原来的圆形)
- 渐变背景(vs 原来的纯色)
网络层面
- DEBUG:使用原测试域名
- RELEASE:使用加密的新域名
https://api.epartylive.com
- 代码中无明文域名
常见问题
Q1: 编译失败,提示找不到 Swift 类
A: 检查以下配置:
- Build Settings → Defines Module = YES
- Build Settings → Swift Objc Bridging Header = YuMi/YuMi-Bridging-Header.h
- 清理项目:Cmd + Shift + K,然后重新编译
Q2: 运行时 Crash,提示 "selector not recognized"
A: 检查:
- Swift 类是否标记了
@objc
- 方法是否标记了
@objc
- Bridging Header 是否包含了所有需要的 OC 头文件
Q3: TabBar 显示但是是空白页面
A: 检查:
- NewMomentViewController 和 NewMineViewController 是否正确初始化
- Console 是否有错误日志
- 尝试直接 push 到这些 ViewController 测试
Q4: 图片不显示
A:
- 图片资源还未添加(正常现象)
- 暂时使用 emoji 或文字代替
- 后续会添加新的图片资源
下一步
Phase 1 - Day 2-3 完成后,继续:
Day 4-5: 完善 UI 细节
- 添加真实的图片资源(100-150 张)
- 完善动画效果
- 优化交互体验
Day 6-10: 网络层集成
- 创建 HttpRequestHelper Category
- 集成真实 API
- 测试网络请求
Day 11-15: 全面测试
- 功能测试
- 性能测试
- 相似度检查
- 准备提审
更新时间: 2025-10-09
当前进度: Phase 1 - Day 2-3 完成
文件数量: 11 个新文件
代码量: ~1500 行