AuraCalc Changelog
更新日志
记录每个正式版本的更新时间、版本号与主要迭代内容。
Added — 订阅预埋 (Phase 1.5)
- StoreKit 2 双轨内购体系预埋:SubscriptionManager + SubscriptionStatus + Entitlement + SubscriptionViewModel
- PaywallPage(产品卡片 + 恢复购买 + 管理订阅链接)
- SubscriptionStatusView(设置页订阅状态指示)
- FeatureGateView(功能门控:flag=false 放行,flag=true 门控)
- Configuration.storekit 本地沙盒测试配置(年付订阅 $1.99 + 买断 $7.99 + 7 天试用)
- Feature flag:
Defaults[.isSubscriptionEnabled](默认 false,Phase 2 切换为 true) - Route.paywall + 深度链接
auracalc://paywall - 键盘布局编辑器入口门控(flag=false 直接访问,flag=true FeatureGateView 包裹)
- 19 个 i18n key(auracalc.subscription.*,中英双语)
- SubscriptionManagerTests(9 tests,覆盖状态/权益/flag 逻辑)
Changed
- URL Scheme 从
calc:// 改为 auracalc://,避免与其它应用冲突(作者标识保留于 CFBundleURLName = icret.auracalc) - 打磨 TipKit 新手引导文案,新增精度设置引导
Changed — UI 打磨(P0+P1+P2,跳过 P0-G)
- P0-1:
AppStyle.Padding indicator 3→4 / menuInset 5→4 / tight 6→8 / buttonCompact 7→8,对齐 8pt 网格 - P0-2:键盘容器外层 padding horizontal 12→4 / vertical 8→4,按钮贴近边缘
- P0-3:焦点指示器宽度 2→3pt
- P0-4:全局 22 处
RoundedRectangle + 40 处 .rect(cornerRadius:) 统一加 style: .continuous - P1-1:非焦点行 opacity 0.78→0.85,提升可读性
- P1-2:等号键改为 accent 实心填充(有 tint 用 tint),pressed 态 opacity 0.85
- P1-3:错误态描边 1→1.5pt(
LineWidth.focus),errorFaint 0.05→0.08 - P2-1:模式切换动画
.smooth→.snappy(duration: 0.3, extraBounce: 0) - P2-2:行号 gutter 分隔线改用语义色
.separator - P2-3:iOS Sidebar 选中态加 accent 半透明背景
- P2-4:复制反馈 overlay 改用
appSuccess 语义色 Asset,提取 FeedbackBadge 共享组件 - P2-5:macOS 长按键
actionKey 增加 accessibilityHint 参数并传入
Added — UI 打磨
AppSuccess.colorset:与 AppError 对称的语义绿(深浅色各一)FeedbackBadge.swift:复制/插入成功反馈浮层共享组件AppStyle.Opacity.pressedSolid(0.85)/ selectionHighlight(0.15)语义令牌
Added — 核心计算
- 三种计算器模式:基础 / 科学 / 程序员
- Decimal 高精度计算引擎,支持最高 38 位有效数字
- 自实现 Shunting-yard 表达式解析器(禁用 NSExpression / JavaScriptCore)
- 隐式乘法(
5π → 5 * π)、科学记数法(1.5e10)、百分比(50%)、阶乘(5!) - 内置函数:三角/反三角/双曲、对数(log/ln)、sqrt/cbrt/abs、nPr/nCr、round/ceil/floor、gcd/lcm、质因数分解、rand/randint
- 程序员模式:hex/oct/bin/dec 进制转换、位运算(not/and/or/xor)
- 10 个高精度常数:π / τ / π/2 / e / ln2 / φ(黄金比例) / γ(欧拉常数) / √2 / √3 / G(卡塔兰常数)
- 方程求解(牛顿法迭代,多解检测)
Added — 辅助功能
- 历史记录(SwiftData 持久化,含 VersionedSchema + MigrationPlan)
- 单位转换:长度/重量/温度/角度/面积/体积/速度/时间/功率/数据存储(含中文单位)
- 货币转换:在线 API 多源回退 + 本地缓存 12 小时
- BMI 计算器、中文大写金额转换、日期计算、时区转换、进制转换(独立页)
- 常数库 / 函数库 / 公式库(可参数化计算)
Added — 生态集成
- 灵动岛 / Live Activity(计算过程实时展示,30 秒自动消失)
- Interactive Widget + Control Widget (iOS 18+)
- Siri Shortcuts(2 个 App Intent:CalculateExpression / ConvertUnit)
- Spotlight 索引历史快照
- Handoff(NSUserActivity 跨设备接力)
- URL Scheme 深度链接
auracalc://calculator|history|constants|functions|formulas - TipKit 首次使用引导(表达式输入 + 模式切换)
- macOS 菜单栏计算器
Added — 用户体验
- 深色/浅色/跟随系统 三种主题(默认深色)
- 分级触觉反馈(数字 light / 运算符 medium / 等号 heavy / 成功 success / 错误 error)
- 动态字体支持(
Font.custom(_:size:relativeTo:)) - 无障碍:118 处 accessibilityLabel/Hint,支持 VoiceOver / Full Keyboard Access / Reduce Motion
- 横竖屏全支持(iPhone + iPad)
- 中英双语国际化(String Catalog)
Added — 工程质量
- 722 个单元测试 + 11 个 UI 测试
- GitHub Actions CI/CD(swift-format → SwiftLint → test-macos → test-ios → Periphery 死代码检测)
- ModelContainer 三级崩溃回退(删除重建 → 空配置 → 内存容器)
- iOS Data Protection(FileProtectionType.complete 硬件加密)
- macOS App Sandbox + Hardened Runtime
Added — 合规
- PrivacyInfo.xcprivacy 隐私清单(NSPrivacyTracking = false,零数据收集)
- 中英双语隐私政策 + 服务条款(icret.auracalc.help 帮助书)
- 无 Analytics / 统计 SDK,无广告 SDK
Technical
- Swift 6.0 + SwiftUI Only + MVVM + 严格并发隔离(MainActor 默认)
- 部署目标:iOS 17.0+ / macOS 14.0+ / Apple Silicon Only (arm64)
- 依赖:Defaults v9.0.9 / swift-async-algorithms v1.1.5 / swift-collections 1.1.0~<2.0.0
- 应用图标:iOS 三变体 (light/dark/tinted) + macOS 全尺寸