fix: 修复 FactoryReset 误删用户文件并将应用数据迁移至 Application Support
- 修复 macOS/Windows/Linux 非沙盒下 FactoryReset 递归删除 ~/Documents 导致用户项目源代码丢失的严重 bug,改为仅删除已知应用专属文件/子目录并增加路径安全校验 - 数据库文件从 getApplicationDocumentsDirectory() 迁移到 getApplicationSupportDirectory()(应用专属),含自动迁移逻辑 - 启用 macOS Debug 模式沙盒,使开发环境与生产环境路径行为一致 - 统一迁移 13 处应用数据存储位置(Hive、聊天附件、字体、稍后读同步等)到 Application Support,应用启动时执行一次性迁移 - backup_service.dart 备份文件迁移至 Application Support,getBackupList() 兼容扫描新旧两个路径并去重 - clearCache() 同样修复危险递归清空逻辑 详见 CHANGELOG.md v6.136.0 ~ v6.138.0
This commit is contained in:
@@ -2,8 +2,14 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<!-- 启用沙盒:让 Debug 模式与 Release 模式路径行为一致,避免开发环境差异
|
||||
导致的 bug(如 getApplicationDocumentsDirectory() 在非沙盒下返回用户公共
|
||||
~/Documents 目录,曾导致 FactoryReset 误删项目源代码)。
|
||||
代价:Debug 模式下旧版数据库(位于 ~/Documents/xianyan.db 或
|
||||
~/Library/Application Support/apps.xy.xianyan/xianyan.db)无法迁移到
|
||||
沙盒内,开发者需重新登录/创建数据。 -->
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<false/>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
@@ -21,7 +27,7 @@
|
||||
<!-- 麦克风:语音录制 / 转文字(AVCaptureDevice via PermissionManager.swift) -->
|
||||
<key>com.apple.security.device.microphone</key>
|
||||
<true/>
|
||||
<!-- 定位:permission_handler 依赖链引用 CoreLocation 符号,沙盒需此 entitlement -->
|
||||
<!-- 定位:permission_handler 依赖链引用 CoreLocation,沙盒需此 entitlement -->
|
||||
<key>com.apple.security.personal-information.location</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
||||
Reference in New Issue
Block a user