Files
to-live-photo/Sources/LivePhotoCore
empty f3bcaf4651 fix: 代码审查 P0+P1 问题修复(2 个崩溃 + 14 个体验问题)
P0 致命问题:
- LivePhotoCore: requestLivePhoto continuation 多次 resume 崩溃
  使用 ResumeOnce + highQualityFormat + 跳过降级版本
- ResultView: PHLivePhoto.request continuation 泄漏/多次 resume
  NSLock + hasResumed 守卫 + 处理 cancel/error 边缘情况

P1 并发安全:
- PresetManager/RecentWorksManager: 移除 NotificationCenter 闭包
  中的 guard let self(Swift 6 并发安全)
- RecentWorksManager: cleanupDeletedAssets 移到 Task.detached
- RecentWorksManager: ThumbnailLoader.load 移到后台 + 防重复

P1 EditorView 修复:
- AI 百分比改用 .percent FormatStyle(本地化)
- 预设选择器 if-else 互斥 + Group 包裹
- 诊断按钮优先使用 suggestion.action 闭包
- PhotosPicker 导入添加 50MB 大小限制
- 封面文件写入 try? 改为 do-catch

P1 其他修复:
- HomeView: selectedItem 在所有退出路径重置
- LivePhotoCore: trimmedSeconds 改用实际裁剪后视频时长
- LivePhotoCore: keyFrameTime 越界显式 clamp + DEBUG 警告
- LivePhotoCore: ExportParams Codable 向后兼容

本地化:
- Localizable.xcstrings 9 批翻译修复(~295 条)
  ar/es/fr/ja/ko 英文占位替换为正确翻译

修改文件:
- Sources/LivePhotoCore/LivePhotoCore.swift
- to-live-photo/Views/ResultView.swift
- to-live-photo/Views/HomeView.swift
- to-live-photo/Views/EditorView.swift
- to-live-photo/PresetManager.swift
- to-live-photo/RecentWorksManager.swift
- to-live-photo/Localizable.xcstrings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-08 00:19:54 +08:00
..