empty 4bcad4d4b8 fix: 安全审查 P0-P2 问题修复(26项)
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>
2026-02-07 20:04:41 +08:00
2026-01-11 02:35:54 +08:00
2026-01-03 22:24:19 +08:00
2026-01-03 22:24:17 +08:00

Live Photo Studio

将任意视频转换为 iOS Live Photo支持锁屏动态壁纸

Platform Swift License

功能特性

  • 📹 视频转 Live Photo — 导入相册视频,一键生成系统可识别的 Live Photo
  • ✂️ 精准裁剪 — 时长裁剪1~1.5s+ 多比例模板(锁屏/全面屏/4:3/1:1
  • 🎨 AI 超分辨率 — 集成 Real-ESRGAN智能提升画面清晰度
  • 🖼️ 封面帧选择 — 滑杆精选最佳静态封面
  • 📱 壁纸引导 — 系统版本适配的设置步骤引导

📱 系统要求

  • iOS / iPadOS 18.0+
  • Xcode 16.0+
  • Swift 6.0

🚀 快速开始

克隆项目

git clone https://github.com/yourusername/to-live-photo.git
cd to-live-photo

构建运行

# 模拟器构建
xcodebuild -scheme to-live-photo \
  -destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
  build

# 真机 Archive
xcodebuild -scheme to-live-photo \
  -configuration Release \
  -destination 'generic/platform=iOS' \
  -archivePath build/to-live-photo.xcarchive \
  archive

🏗️ 项目结构

to-live-photo/
├── Sources/LivePhotoCore/       # Swift Package - 核心库
│   ├── LivePhotoCore.swift      # 生成管线、数据模型
│   ├── AIEnhancer/              # Real-ESRGAN 超分辨率
│   └── Resources/               # metadata.mov, ML 模型
├── to-live-photo/               # iOS App
│   ├── Views/                   # SwiftUI 视图
│   │   ├── HomeView.swift       # 首页导入
│   │   ├── EditorView.swift     # 编辑裁剪
│   │   ├── ProcessingView.swift # 处理进度
│   │   ├── ResultView.swift     # 保存结果
│   │   └── WallpaperGuideView.swift  # 壁纸引导
│   ├── AppState.swift           # 全局状态管理
│   └── DesignSystem.swift       # Soft UI 设计令牌
└── docs/                        # 文档
    ├── USER_GUIDE.md            # 用户手册
    ├── TEST_MATRIX.md           # 测试矩阵
    └── APP_STORE_METADATA.md    # 上架信息

🔧 技术架构

生成管线

normalize → extractKeyFrame → aiEnhance → writePhotoMetadata → writeVideoMetadata → saveToAlbum → validate

核心参数

参数 默认值 说明
时长 0.917s 与 iPhone 原生 Live Photo 一致
分辨率 1080×1920 竖屏最大,可配置兼容模式降至 720p
帧率 60fps 兼容模式可降至 30fps
编码 H.264 兜底策略确保兼容性
HDR 转 SDR 壁纸场景更稳定

AI 超分辨率

  • 模型Real-ESRGAN x4plusCore ML64MB
  • 处理512×512 分块 + 64px 重叠 + 线性混合
  • 放大:约 2.25x(输入 512→输出 2048

📋 开发规范

Git 提交类型

  • feat: 新功能
  • fix: 修复缺陷
  • refactor: 重构(行为不变)
  • chore: 构建、依赖、工具
  • docs: 仅文档

代码规范

  • 遵循 DesignSystem.swift 令牌,禁止硬编码颜色/间距
  • 新增 View 必须包含 accessibilityLabel
  • 新增 View 必须适配深色模式和 iPad
  • 触控目标 ≥ 44pt

📄 文档

文档 说明
CLAUDE.md AI 助手指令(宪法文档)
TASK.md 里程碑与任务追踪
docs/USER_GUIDE.md 用户使用手册
docs/TEST_MATRIX.md 测试用例矩阵

📜 许可证

MIT License - 详见 LICENSE


Made with ❤️ for iOS Live Photos

Description
No description provided
Readme 115 MiB
Languages
Swift 74.5%
Python 24.8%
Shell 0.7%