Repository navigation
Releases: congee949/FridgeTracker
Release list
FridgeTracker 1.1.0 (Build 6)
FridgeTracker 1.1.0 (Build 6)
版本标识:1.1.0-build.6
Git tag:v1.1.0-build6
根因
AltStore/SideStore 重签会同时改写主 App、Widget extension 和 App Group 标识。Build 5 仍固定请求官方 App Group,因此真机运行时记录 App Group 容器不可用,无法写入小组件数据;App 内数据可以保存,但 Widget 共享快照无法生成。
修复
- 主 App 与 Widget 共享同一 App Group 解析逻辑。
- 始终优先访问官方 App Group,保持 Xcode/App Store 安装行为不变。
- 官方容器不可用时,根据实际 Bundle ID 推导 AltStore/SideStore 添加的单段安全后缀。
- 同时兼容常见的两种 Widget Bundle ID 重写顺序。
- 拒绝多段、超长或包含非法字符的后缀,避免访问非预期容器。
验证
- 覆盖官方 App/Widget ID、真机实际后缀
4ABD62UF7K、两种 Widget 重写顺序、非法后缀、官方容器优先和重签容器回退。 - Xcode Beta 27.0 / iOS 27.0 Simulator。
- 281/281 项单元测试通过,0 失败、0 跳过、0 runtime warning。
- Release archive、App 与 Widget 均为 Build 6,签名结构验证通过。
IPA 安装说明
Release 附件为 unsigned IPA,不包含个人开发证书、设备 UDID 或短期 provisioning profile。使用 AltStore/SideStore/Sideloadly 重签安装后,请打开 App,新增或编辑一条食材,再观察设置页「小组件数据同步」状态和主屏幕 Widget。
完整变更见 CHANGELOG.md。
FridgeTracker 1.1.0 (Build 5)
FridgeTracker 1.1.0 (Build 5)
从本版本开始,每一个 Build 使用独立版本标识、Git tag 与 GitHub Release。本次版本标识为 1.1.0-build.5,tag 为 v1.1.0-build5。
修复
- 修复 App 新增食材后小组件未及时显示的问题:保护 App Group 快照写入、按 Widget kind 精确刷新,并增加 15 分钟兜底时间线更新。
- 移除小组件对未来 30 天的上限,坚果等长保质期食材也会显示。
- 修复 iOS 27 全新安装时 SwiftData 的 App Group 父目录尚未创建、数据库首次打开失败的问题。
- 单元测试与 UI 测试改用内存数据库,避免测试覆盖真实小组件数据。
验证
- Xcode Beta 27.0,iOS 27.0 Simulator。
- Small、Medium、Large 三种小组件均完成 App → App Group → WidgetKit 端到端验证。
- 276/276 项单元测试通过,0 失败,0 跳过,0 runtime warning。
- App 与 Widget 构建号均为 Build 5。
IPA 安装说明
Release 附件是 unsigned IPA,不包含开发者个人证书、设备 UDID 或短期 provisioning profile。请使用 AltStore、SideStore、Sideloadly 或自己的开发者证书重新签名安装。由于应用包含 Widget 与 App Group,重签工具必须同时正确处理主 App、Widget extension 和 App Group entitlement。
完整变更见 CHANGELOG.md。
v1.0.1 (build 2)
修复
- 通知被拒后无声失效:系统通知权限为「已拒绝」时,过期提醒会静默调度失败且无提示。现在设置页检测
.denied状态并显示橙色横幅「系统通知已关闭,过期提醒不会触发」,附「前往系统设置开启」按钮;从设置返回或页面出现时自动刷新。
优化(小组件)
- 空状态居中:大号组件「暂无快过期食材」改为水平垂直居中并加 ✓ 图标(原左对齐贴顶)。
- 中号到期上色:中号组件到期文案按状态着色(临期/过期),大号保持次要灰维持层级。
- Dynamic Type 防溢出:辅助功能大字号时大号展示上限 8→4 并关闭缩放,避免截断。
- VoiceOver 合并朗读:小号整卡与列表行合并为单一无障碍元素,一次读出「名称,分类,到期,存放区」。
- 小号深链到食材:小号组件点击直达当前展示的那条食材详情(原统一跳首页)。
文档
- 新增
docs/shipswift-review.md:对照 ShipSwift recipe 的模块级 code review 报告。
📥 iOS 安装(未签名 IPA,自行侧载)
FridgeTracker-1.0.1-unsigned.ipa 是未签名包,不绑定任何设备/账号,需用你自己的 Apple ID 侧载:
- AltStore / SideStore:电脑装 AltServer → 手机 AltStore 里选此 IPA 安装(免费 ID 每 7 天自动后台重签)
- Sideloadly:连电脑,拖入 IPA,填自己的 Apple ID
- TrollStore:仅限受支持的 iOS 版本,免签永久安装
限制(苹果侧,非包本身问题):
- 免费 Apple ID:应用 7 天过期、同时最多 3 个 app、每周 10 个 App ID(本 app + 小组件占 2 个)。
- app 含小组件 + App Group,依赖签名工具正确重写 group——AltStore / SideStore / Sideloadly 可正常处理;过于简化的工具可能导致小组件不刷新。
- 付费开发者账号($99/年)可签 1 年,免除上述限制。
完整变更见 CHANGELOG.md。