Files
real-e-party-iOS/issues/scripts/README.md
edwinQQQ a35a711be6 chore: Initial clean commit
- Removed YuMi/Library/ (138 MB, not tracked)
- Removed YuMi/Resources/ (23 MB, not tracked)
- Removed old version assets (566 files, not tracked)
- Excluded Pods/, xcuserdata/ and other build artifacts
- Clean repository optimized for company server deployment
2025-10-09 16:19:14 +08:00

405 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 白牌项目改造工具包 - 快速执行指南
## 🎯 目标
在1个月内将 YuMi 项目改造成全新的白牌项目,规避 App Store 审查。
---
## 📦 工具清单
本目录包含以下工具:
1. **1_rename_classes.sh** - 类名批量替换脚本
2. **2_rename_assets.py** - 图片资源批量重命名
3. **3_theme_color_example.md** - 主题颜色替换方案
4. **white-label-refactor-plan.md** - 完整的30天改造计划
---
## ⚡️ 快速开始3步走
### 前置准备
```bash
# 1. 确保在正确的分支
cd "/Users/edwinqqq/Local/Company Projects/peko-ios"
git status
# 2. 创建新分支
git checkout -b white-label-refactor
# 3. 提交所有未保存的更改
git add .
git commit -m "开始白牌改造前的备份"
```
---
## 🚀 执行步骤
### Week 1: 标识层改造
#### Day 1-5: 类名和文件重命名
```bash
# 1. 给脚本添加执行权限
cd issues/scripts
chmod +x 1_rename_classes.sh
# 2. 运行类名替换脚本(交互式)
./1_rename_classes.sh
# 输入示例:
# YM → LK
# XP → SL
# PI → MT
# Moli → Nova
# MS → AS
```
**预期结果**
- ✅ 所有类名前缀已替换
- ✅ 文件名已重命名
- ✅ 模块文件夹已重命名
- ✅ Xcode 项目文件已更新
**验证步骤**
```bash
# 1. 在 Xcode 中重新打开项目
open YuMi.xcworkspace
# 2. Clean Build Folder
# Xcode: Product → Clean Build Folder (⇧⌘K)
# 3. 尝试编译
# Xcode: Product → Build (⌘B)
# 4. 检查编译错误并修复
```
---
#### Day 6-7: 图片资源替换
```bash
# 1. 确保 Python 3 已安装
python3 --version
# 2. 运行图片资源重命名脚本
python3 2_rename_assets.py
# 3. 执行生成的代码替换脚本
cd ../temp_rename
chmod +x replace_image_refs.sh
./replace_image_refs.sh
```
**预期结果**
- ✅ 2971个图片资源已重命名
- ✅ Contents.json 已更新
- ✅ 代码中的图片引用已替换
- ✅ 生成了映射文件备查
**验证步骤**
```bash
# 1. 编译项目
# Xcode: Product → Build
# 2. 运行应用
# Xcode: Product → Run (⌘R)
# 3. 检查关键页面的图片是否正常显示
# - 登录页
# - 首页
# - TabBar
# - 房间页
```
---
### Week 2: 视觉层改造
#### Day 8-10: 主题颜色替换
```bash
# 1. 阅读配色方案文档
cat 3_theme_color_example.md
# 2. 选择一个配色方案A/B/C
# 3. 手动创建新的颜色类
# 在 Xcode 中:
# YuMi/CustomUI/ → New File → Cocoa Touch Class
# 类名: AppThemeColor
# 父类: NSObject
```
**实施步骤**
1. 复制 `3_theme_color_example.md` 中的示例代码
2. 创建 `AppThemeColor.h``AppThemeColor.m`
3. 运行文档中的替换脚本
4. 手动调整硬编码的颜色值
**验证步骤**
```bash
# 运行应用,检查所有页面的颜色
# 重点检查:
# - TabBar 颜色
# - 导航栏颜色
# - 按钮渐变
# - 背景色
# - 文字颜色
```
---
#### Day 11-12: TabBar 结构调整
**手动操作**(在 Xcode 中):
1. 打开 `TabbarViewController.m`
2. 找到 TabBar 初始化代码
3. 调整 Tab 顺序,例如:
```objc
// 旧顺序: 首页 → 消息 → 动态 → 我的
// 新顺序: 动态 → 首页 → 消息 → 我的
// 或者改变 Tab 数量
// 5个 Tab → 4个 Tab移除某个功能
```
4. 更换所有 TabBar 图标
5. 修改 TabBar 选中/未选中动画
---
### Week 3: 代码结构层改造
#### Day 13-15: 核心页面 UI 重构
**优先级**
1. 登录页(必须改)
2. 首页(必须改)
3. 房间页(可选择性改)
4. 个人中心(必须改)
**策略**
- 不改业务逻辑,只改 UI 布局
- 使用 Interface Builder → 纯代码(或反之)
- 改变控件位置和排列方式
---
#### Day 16-19: 拆分超大类
重点处理 `XPRoomViewController.m`4605行
```objc
// 创建 Category 拆分
// XPRoomViewController+Gift.h/m - 礼物相关
// XPRoomViewController+PK.h/m - PK相关
// XPRoomViewController+Game.h/m - 游戏相关
// XPRoomViewController+Chat.h/m - 聊天相关
```
---
### Week 4: 测试和提审
#### Day 20-23: 功能测试
```bash
# 测试检查清单
- [ ] 登录/注册(所有方式)
- [ ] 首页浏览和筛选
- [ ] 进入房间
- [ ] 发送消息
- [ ] 发送礼物
- [ ] 充值流程(测试环境)
- [ ] 个人中心设置
- [ ] 第三方登录Facebook/Google/Apple
- [ ] 推送通知
- [ ] 分享功能
- [ ] 深度链接
```
#### Day 24-26: 最终调整
1. 修复所有测试中发现的 bug
2. 优化性能(内存泄漏、卡顿)
3. 更新应用截图5-10张
4. 撰写新的应用描述
#### Day 27-30: 提审准备
```bash
# 1. 更新 Bundle ID
# 在 Xcode: Targets → General → Bundle Identifier
# 2. 更新 App 名称
# 在 Info.plist: CFBundleDisplayName
# 3. 准备新的 App Store 截图
# 4. 撰写应用描述(完全不同的文案)
# 5. 提交审核
```
---
## 📊 进度追踪
使用以下命令查看当前进度:
```bash
# 检查已重命名的类
find YuMi -name "*.m" | grep -v Pods | wc -l
# 检查颜色替换进度
grep -r "DJDKMIMOMColor" YuMi --include="*.m" | wc -l
grep -r "AppThemeColor" YuMi --include="*.m" | wc -l
# 检查图片资源
ls -l YuMi/Assets.xcassets/**/*.imageset | wc -l
```
---
## 🔧 常见问题
### Q1: 编译错误 "Use of undeclared identifier"
**原因**:类名替换不完整
**解决**
```bash
# 搜索旧的类名
grep -r "YMSomeClass" YuMi --include="*.m" --include="*.h"
# 手动替换
```
### Q2: 图片不显示
**原因**:图片名称替换遗漏
**解决**
```bash
# 1. 检查映射文件
cat issues/temp_rename/asset_name_mapping.json
# 2. 搜索旧的图片名
grep -r "old_image_name" YuMi --include="*.m"
# 3. 手动替换
```
### Q3: 颜色显示异常
**原因**:硬编码的颜色值未替换
**解决**
```bash
# 搜索硬编码的 hex 颜色
grep -r "0x9682FF" YuMi --include="*.m"
grep -r "UIColorFromRGB" YuMi --include="*.m" | grep "0x"
# 手动替换为 [AppThemeColor xxx]
```
### Q4: TabBar 跳转失败
**原因**:代码中硬编码了 Tab index
**解决**
```bash
# 搜索 selectedIndex
grep -r "selectedIndex" YuMi --include="*.m"
# 更新所有硬编码的 index
```
---
## 🆘 回滚方案
如果出现严重问题,可以快速回滚:
```bash
# 方法1: Git 回滚
git reset --hard HEAD
git clean -fd
# 方法2: 恢复备份
# 类名替换备份: issues/temp_rename/
# 图片资源备份: issues/temp_rename/assets_backup/
# Xcode 项目备份: YuMi.xcodeproj/project.pbxproj.backup
```
---
## 📞 技术支持
如果遇到无法解决的问题:
1. 查看详细日志
```bash
cat issues/temp_rename/rename_report.txt
cat issues/temp_rename/assets_rename_report.txt
```
2. 检查 Git 提交记录
```bash
git log --oneline
git diff
```
3. 分步骤回滚测试
---
## ✅ 最终检查清单
提审前必须确认:
- [ ] 所有编译警告已解决
- [ ] 核心功能测试通过
- [ ] 没有明显的崩溃
- [ ] UI 和原项目有显著差异至少70%
- [ ] Bundle ID 已更改
- [ ] App 名称已更改
- [ ] 所有图片资源已替换
- [ ] 主题色已完全不同
- [ ] 准备好新的应用截图和描述
- [ ] 第三方 SDK 配置正确
- [ ] 测试环境和生产环境切换正确
---
## 📈 成功标准
**技术层面**
- 代码相似度 < 30%
- 资源文件完全不同
- UI 视觉差异 > 70%
**审查层面**
- App Store 截图无相似性
- 应用描述和关键词不重复
- 功能展示有差异化
---
## 🎉 完成后
恭喜!你已经完成了白牌项目的改造。
**建议**
1. 保留完整的映射文档,便于后续维护
2. 定期同步原项目的 bug 修复
3. 使用 Git submodule 或 monorepo 管理多个白牌版本
**祝你成功通过 App Store 审核!** 🚀