Repository navigation
1.1
macOS 原生 arm64 实现,无需 Rosetta 2。要求 macOS 13 或更高版本。
本次更新
稳定性
- 修复设备断开或重新连接时的一处释放顺序问题。回调此前是在工作线程上注册的,而注销发生在主线程,导致注销实际未生效,遗留的回调指针可能指向已释放的对象。现改为在同一线程上显式关闭。
- 修复工作线程的引用环,此前工作线程会持有其所有者,使二者均无法释放。
- 输入缓冲区改为随连接生命周期管理,不再在每次读取时分配。
- 设备枚举改为直接按厂商自定义页
0xFF00匹配,不再枚举全部 HID 设备后逐一筛选。
功能
- 新增应用图标。
- 新增更新检查。启动时自动检查一次,也可在菜单栏中手动触发;可通过「启动时检查更新」关闭。该请求为本软件唯一的联网行为,不携带任何标识信息。
其它
- Bundle ID 改为
io.github.imbbbbb.anticater。在 1.0 中开启过「开机时自动启动」的用户,升级后需要重新开启一次:登录项的注册与 Bundle ID 绑定,旧的注册不会自动继承。 - 界面代码拆分为独立的
AntiCaterUI目标,以便DeviceModel的状态机能够被测试覆盖。新增 22 项测试(连接、拔线重连、写入失败、静默拒绝、版本比较),测试总数 38 项。 - 补充英文 README 与界面截图。
安装
应用为 ad-hoc 签名,未经公证,首次打开会被 Gatekeeper 拦截。请右键点击图标并选择「打开」,在系统提示框中再次点击「打开」。
运行不需要「输入监控」等隐私权限。修改配置需连接 USB 数据线,蓝牙侧不提供配置接口。
说明
本项目为非官方实现,与 ANTICATER 厂商无隶属关系,亦未获得其认可,不包含原版程序的任何代码或二进制文件。未实现固件升级或刷写功能。
部分协议编号为推断结果,详见 README 的「协议说明」一节。