# Battman 电池管理器 被抛弃者的现代电池管理器,为它们的老设备打造。 ## 屏幕截图
Battman Main Demo Battman Gas Gauge Demo Battman Gas Gauge Demo 2 Battman Adapter Demo Battman Inductive Demo Battman Inductive Demo 2 Battman Serial Demo Battman Temperature Demo Battman Charging Management Demo Battman Charging Limit Demo Battman Thermal Demo
$${\color{grey}真正优雅的软件讲究代码的艺术,而非外表的点缀。}$$
### 优势 - [x] 纯粹地由Objective-C与C打造 - [x] 明朗的UI,编写自明朗的Objective-C - [x] 不含**StoryBoards**,不含**额外的二进制文件**,不含**Xcode 资源库** - [x] 不含**Swift和SwiftUI** - [x] 不含**CocoaPods**,不含**Swift 扩展包**,不含**外部代码包依赖**,不含**第三方框架** - [x] Xcode 编译?不用 Xcode 编译也可以 - [x] 编译在 Linux(没错,“你需要 Mac 来做 iOS App”是 Apple 的鼓动宣传) - [x] 直接获取并操作硬件最深处的原始数据 - [x] 支持 iPhone、iPad、iPod、Xcode 模拟器和 Apple 芯片的 Mac 设备(如果有人捐赠设备的话,我甚至可以支持Apple Watch和Apple TV) - [x] 高度适配设备电池中的德州仪器电量监测计芯片 - [x] 比 IOPS 和 PowerManagement 提供的信息还要**多得多** - [x] 检测你的**电源适配器**、**无线充电器**、甚至你的 **MagSafe 配件** ### 只有 Battman 能做到 目前为止,其他面向iOS的电池管理工具没能做到的事情 (截止至 9th Sun Mar 2025 UTC+0) - [x] 完整的 **未充电原因(NotChargingReason)** 解码,详见 [not_charging_reason.h](../Battman/battery_utils/not_charging_reason.h) - [x] 德州仪器 Impedance Track™ 信息的获取 - [x] 实时充电电压/电流的读取 - [x] 完美运行在 Xcode Simulator (其他人在他们的软件里用 IOPS,所以不行) - [x] 智能充电(优化电池充电)交互 - [x] 低电量模式行为控制 - [x] 详细的 MagSafe 配件信息 - [x] 详细的 Lightning 线缆与配件信息 - [x] 读取全部硬件温度传感器 ### 前置条件 - 越狱设备,或者通过TrollStore安装 - iOS 12+ / macOS 11+(欢迎向前移植) - arm64(A7+ 理论上的 / M1+) - Gettext libintl(可选,用于本地化) - GTK+ 3(可选,用于运行在基于GTK+的桌面环境) ### 下载 前往最新 [Release](https://github.com/Torrekie/Battman/releases/latest) 以获取预构建包。 或者,如果你希望自己构建它: ```bash # 在 macOS,安装 Xcode 并直接用其编译 # 在 Linux 或者 BSD,确保一个 LLVM 跨平台编译工具链和 iPhoneOS.sdk 已经准备好,并且按需修改 Battman/Makefile # 在 iOS,当你使用 Torrekie/Comdartiwerk 作为基础套件时 apt install git odcctools bash clang make sed grep ld64 ldid libintl-dev iphoneos.sdk git clone https://github.com/Torrekie/Battman # 如果目标 iOS 12 或更早,下载 SF-Pro-Display-Regular.otf,然后放在 Battman/ wget -O Battman/SF-Pro-Display-Regular.otf cd Battman make -C Battman all # 生成的 Battman.ipa 将位于 $(CWD)/Battman/build/Battman.ipa ``` ### 已知问题 - Battman 在 **A7 至 A10** 的设备运行时并未真正与硬件交互,因为没有AppleSMC,作为替代这些设备使用我们无法测试的AppleHPM。 ### 已测试设备 - iPhone 12 系列 (D52) - iPad Pro 2021 第三代 (J51) - iPhone XR - iPad Air 2 如果 Battman 未能在你的设备正常工作,请提交[疑述](../../../issues/new)。 ### 即将实现 - [ ] AppKit/Cocoa UI for macOS - [ ] GTK+/X11 UI for iOS/macOS - [ ] 自动识别电量计芯片 - [ ] 可选的数据采集(用于解码当前未知的参数) - [x] 高级功能(Apple 系统管理控制器/Apple 电源管理 操作界面) - [x] 温度控制 - [ ] 作为命令行程序运行 - [ ] 作为守护进程运行 - [x] 充电限制 - [x] 无线/MagSafe 适配 - [ ] App 能耗限制 - [ ] Jetsam 控制 - [ ] 风扇控制 - [ ] 蓝牙配件(AirPods等) ### 许可证 自 27th Sat Sep 2025 UTC+0 起,Battman 由 MIT 转变为[非自由协议](../LICENSE/LICENSE.md),你不会因为我想以此维持生计而怪罪于我,对吧? ## 免责声明 **请勿用于生产环境,无任何保障,风险自负。**