fix: 1.0 发版前安全审查与优化修复 #3

Merged
let5see merged 9 commits from release/1.0-final-fixes into main 2026-02-07 20:20:11 +08:00
Owner

概述

四方联合安全审查(UI / 核心架构 / 产品合规 / 构建运维)发现 36 个问题,全部修复。

P0 关键修复(6项)

  • 移除 exit(0) 强制退出
  • 修复 LivePhotoValidator hasResumed data race
  • 修复 addAssetID(toVideo:) continuation 泄漏
  • 修复 OnboardingView "跳过" 未国际化
  • 修复 LanguageManager "跟随系统" 硬编码中文
  • .gitignore 补全 AI 工具目录

P1 架构与 UI 修复(8项)

  • 修复 RealESRGANProcessor actor 隔离违规
  • 修复 ODRManager continuation 生命周期保护
  • TiledImageProcessor 流式拼接,内存峰值 ~340MB → ~16MB
  • EditorView 硬编码颜色统一为设计系统
  • ProcessingView 取消导航竞态修复
  • 反馈诊断包添加知情同意提示

P2 代码质量与合规(12项)

  • 硬编码间距圆角统一为设计令牌
  • PrivacyPolicyView 设计系统颜色统一
  • HomeView 重复 onChange 合并
  • PHAuthorizationStatus 改为英文技术术语
  • Analytics 日志 assetId 脱敏
  • 隐私政策补充 localIdentifier 存储说明
  • 清理孤立 subscription 翻译 key
  • 脚本硬编码路径改为相对路径
  • ExportOptions Team ID 统一
  • DesignSystem SoftSlider 编译错误修复

P3 低优先级优化(10项)

  • 补全无障碍标注
  • ContentView 后台截屏保护
  • iPad 右侧面板响应式宽度
  • CelebrationParticles 改用 Task
  • accessibility key 中文改英文
  • 生成按钮 accentColor 统一
  • OnboardingView 权限预告
  • LivePhotoLogger 日志安全注释
  • CacheManager 磁盘空间预检查
  • ImageFormatConverter vImage 加速

构建验证

** BUILD SUCCEEDED **
## 概述 四方联合安全审查(UI / 核心架构 / 产品合规 / 构建运维)发现 36 个问题,全部修复。 ### P0 关键修复(6项) - 移除 exit(0) 强制退出 - 修复 LivePhotoValidator hasResumed data race - 修复 addAssetID(toVideo:) continuation 泄漏 - 修复 OnboardingView "跳过" 未国际化 - 修复 LanguageManager "跟随系统" 硬编码中文 - .gitignore 补全 AI 工具目录 ### P1 架构与 UI 修复(8项) - 修复 RealESRGANProcessor actor 隔离违规 - 修复 ODRManager continuation 生命周期保护 - TiledImageProcessor 流式拼接,内存峰值 ~340MB → ~16MB - EditorView 硬编码颜色统一为设计系统 - ProcessingView 取消导航竞态修复 - 反馈诊断包添加知情同意提示 ### P2 代码质量与合规(12项) - 硬编码间距圆角统一为设计令牌 - PrivacyPolicyView 设计系统颜色统一 - HomeView 重复 onChange 合并 - PHAuthorizationStatus 改为英文技术术语 - Analytics 日志 assetId 脱敏 - 隐私政策补充 localIdentifier 存储说明 - 清理孤立 subscription 翻译 key - 脚本硬编码路径改为相对路径 - ExportOptions Team ID 统一 - DesignSystem SoftSlider 编译错误修复 ### P3 低优先级优化(10项) - 补全无障碍标注 - ContentView 后台截屏保护 - iPad 右侧面板响应式宽度 - CelebrationParticles 改用 Task - accessibility key 中文改英文 - 生成按钮 accentColor 统一 - OnboardingView 权限预告 - LivePhotoLogger 日志安全注释 - CacheManager 磁盘空间预检查 - ImageFormatConverter vImage 加速 ## 构建验证 ``` ** BUILD SUCCEEDED ** ```
let5see added 9 commits 2026-02-07 20:17:33 +08:00
P0修复(阻塞发布):
- 补充13个硬编码字符串的8种语言翻译
- 更新App Store评分链接为真实App ID (6756587477)
- 移除URL强制解包,改用安全的可选绑定

P1修复(质量保证):
- 本地化Info.plist权限说明(8种语言)
- 统一developmentRegion为zh-Hans
- 清理11处生产环境print语句,使用条件编译

P3修复(代码质量):
- 清理4个冗余本地化key
- 添加实用工具脚本(add_missing_strings.py, clean_redundant_keys.py)
- 补充App Store元数据国际化文档

所有阻塞发布问题已修复,满足App Store审核要求。
Release构建验证通过(BUILD SUCCEEDED)。

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
问题:WallpaperGuideView界面切换到日语后仍显示大量中文内容

修复内容:
- 添加28个新的本地化key,覆盖所有界面文本
- 替换导航标题、步骤说明、常见问题等所有硬编码中文字符串
- 新增localization keys:
  * wallpaper.title(导航标题)
  * wallpaper.ios17Required(iOS版本提示)
  * wallpaper.openPhotosApp / findSavedPhoto(快捷操作)
  * wallpaper.steps(步骤区标题)
  * wallpaper.step1-5.title/description(5个设置步骤)
  * wallpaper.step4iOS16.title/description(iOS 16特殊说明)
  * wallpaper.faq(常见问题标题)
  * wallpaper.faq1-5.question/answer(5个FAQ条目)

所有字符串均提供8种语言翻译(zh-Hans, zh-Hant, en, es, ar, fr, ja, ko)

构建验证:BUILD SUCCEEDED

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
修复内容:
- EditorView: 30+个硬编码字符串替换为本地化键值
  - 导航标题、封面帧提示、视频时长、关键帧时刻
  - AI超分辨率完整说明(下载提示、分辨率提升、处理时间、本地处理)
  - 兼容模式详细参数(分辨率、帧率、编码、色彩)
  - 视频诊断建议(HDR、高分辨率、高帧率)
- ProcessingView: 17个阶段描述本地化
  - 导航标题、取消按钮
  - 9个处理阶段的标题和描述
- ResultView: 6个按钮和描述本地化
  - 导航标题、保存描述、验证徽章、操作按钮
- OnboardingView: 4个引导页完整国际化
  - 每页标题和描述、导航按钮
- 新增66个localization keys,支持8种语言
  (zh-Hans, zh-Hant, en, es, ar, fr, ja, ko)

构建验证:BUILD SUCCEEDED

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
修复内容:
- RecentWorksManager: aspectRatioDisplayName 使用本地化键值
- 新增5个画面比例本地化键值:
  - aspectRatio.original (原比例)
  - aspectRatio.lockScreen (锁屏)
  - aspectRatio.fullScreen (全屏)
  - aspectRatio.classic (4:3)
  - aspectRatio.square (1:1)
- 支持8种语言翻译

影响范围:
- 首页"最近"作品卡片显示的比例名称
- 设置页面诊断信息中的比例显示

构建验证:BUILD SUCCEEDED

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
版本变更:
- MARKETING_VERSION: 1.0 → 1.0.1
- CURRENT_PROJECT_VERSION: 1 → 2

本次版本包含的修复:
- 全面修复 Views 目录国际化遗漏 (66个新增键值)
- 画面比例显示名称国际化 (5个新增键值)
- WallpaperGuideView 完整国际化 (28个新增键值)
- 支持8种语言: zh-Hans, zh-Hant, en, es, ar, fr, ja, ko

构建验证:BUILD SUCCEEDED

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
P0 关键修复:
- 移除 exit(0) 强制退出,改为应用语言设置后下次启动生效
- 修复 LivePhotoValidator hasResumed data race,引入线程安全 ResumeOnce
- 修复 addAssetID(toVideo:) continuation 泄漏,添加 writer/reader 启动状态检查
- 修复 OnboardingView "跳过" 按钮未国际化
- 修复 LanguageManager "跟随系统" 硬编码中文
- .gitignore 补全 AI 工具目录

P1 架构与 UI 修复:
- 修复 RealESRGANProcessor actor 隔离违规
- 修复 ODRManager continuation 生命周期保护
- TiledImageProcessor 改为流式拼接,降低内存峰值
- EditorView 硬编码颜色统一为设计系统
- ProcessingView 取消导航竞态修复
- 反馈诊断包添加知情同意提示

P2 代码质量与合规:
- EditorView/WallpaperGuideView 硬编码间距圆角统一为设计令牌
- PrivacyPolicyView 设计系统颜色统一
- HomeView 重复 onChange 合并
- PHAuthorizationStatus 改为英文技术术语
- Analytics 日志 assetId 脱敏
- 隐私政策补充 localIdentifier 存储说明
- 清理孤立的 subscription 翻译 key
- 脚本硬编码绝对路径改为相对路径
- DesignSystem SoftSlider 类型不匹配编译错误修复

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
无障碍与用户体验:
- 补全 OnboardingView/ProcessingView/ResultView/WallpaperGuideView 无障碍标注
- ContentView 添加后台切换截屏保护(模糊覆盖层)
- EditorView iPad 右侧面板改为响应式宽度(minWidth:320, maxWidth:420)
- ResultView CelebrationParticles 改用 Task 替代 DispatchQueue 延迟
- DesignSystem accessibility key 从中文改为英文
- EditorView/WallpaperGuideView 生成按钮 accentColor 统一为设计系统
- OnboardingView 第四页添加相册权限预告提示

核心库优化:
- LivePhotoLogger 添加日志安全注释
- CacheManager.makeWorkPaths 添加磁盘空间预检查(<500MB 报错)
- ImageFormatConverter BGRA/ARGB 转换改用 vImagePermuteChannels 加速

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
let5see merged commit 8a04d9774d into main 2026-02-07 20:20:11 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: let5see/to-live-photo#3