V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lihaoyun6
V2EX  ›  macOS

[开发者自荐] AirBattery: 在 Mac 端获取所有设备的电量并显示在 Dock 或状态栏上

  •  
  •   lihaoyun6 · 10 天前 · 2058 次点击

    软件名称

    icon
    AirBattery

    官网&下载

    官方网站: AirBattery
    下载地址: 点此前往
    系统要求: macOS 11 或以上版本

    一句话简介

    在 Mac 端获取你所有设备的电量信息, 并显示在 Dock 栏或状态栏或系统小组件中
    支持 iPhone / iPad / iPod touch / AirPods / Apple Watch / Magic 键鼠等..

    软件特色

    1. 使用 SwiftUI 编写, 支持状态栏图标/系统小组件/低电量提醒等功能

    2. 零配置全自动获取周边设备电量信息, 适配多种设备

    3. 完全免费开源, 代码透明, 不收集上传任何用户隐私

    注: 部分代码由 ChatGPT 生成或整理

    使用注意

    • 请确保 iPhone / iPad 已信任此 Mac (且至少在 AirBattery 运行状态下使用数据线连接 Mac 一次以进行配对) . 之后只需确保其与 Mac 处于同一局域网中即可.

    • 在设置面板中启用 "通过蓝牙发现 iPhone / iPad(蜂窝版)" 选项, 即可在 iPhone/iPad 不连接到 WiFi 的情况下获取电量信息. 此功能仅支持 iPhone 或插卡版 iPad 设备.

    软件截图

    preview

    更新日志 (2024/04/11)

    v1.2.9:

    • 修复了非"刘海屏" Macbook 设备图标显示为刘海屏的 bug
    • 将设备列表中 Mac 本机的显示名称从设备类型改为本机名称
    本软件完全开源免费使用. 如果用的顺手, 可以在 github 页面最底部扫码打赏.
    您的支持是我创造更多开源软件的动力 0v0
    
    48 条回复    2024-05-01 02:00:42 +08:00
    seanzxx
        1
    seanzxx  
       10 天前
    这个和 macOS 自带的桌面小挂件很像呀。
    goldenlove
        2
    goldenlove  
       10 天前
    OP 真高产。
    之前试过款老外做的同类产品,后来发现数据同步不及时就放弃了。
    bao3
        3
    bao3  
       10 天前
    我今天还在想系统自己的电池小组件其实不准,甚至不显示未连接的耳机。
    vacker
        4
    vacker  
       10 天前 via iPhone
    用了几天 好用
    MilkyWayne
        5
    MilkyWayne  
       9 天前
    简单试用了下,非常好用!而且功能确实很实用
    q534
        6
    q534  
       9 天前
    好用,star 了
    q534
        7
    q534  
       9 天前
    真的好用,好多这种 status 小工具侵入性太强了,op 的工具可以把拓展功能隐藏在模仿系统电池图标里,不使用时可以忘记。好评!只是操作感觉还有点不丝滑。
    bao3
        8
    bao3  
       9 天前
    强烈推荐,这个真的是神器~~~已经 star 。路过的朋友真的可以下载试一下。
    Daitabashi
        9
    Daitabashi  
       9 天前
    反过来可能支持吗? 在 ios 设备上能否获取到 mac 和其他 ios 设备的电量?
    Socrazy
        10
    Socrazy  
       8 天前
    macOS 不是自带了吗
    lihaoyun6
        11
    lihaoyun6  
    OP
       8 天前   ❤️ 1
    @Socrazy 已经听到好多次这种质疑了, 质疑之前建议先自己对比一下好吧. 你看看 macOS 自带的电量小组件能不能显示你的 iPhone/iPad/Watch
    xy19009188
        12
    xy19009188  
       8 天前
    已经用上了老哥,非常棒,就是普通蓝牙键盘和鼠标一直显示 100%,当然这不是老哥问题,是苹果问题
    xy19009188
        13
    xy19009188  
       8 天前
    @q534 已经有这个功能了
    xy19009188
        14
    xy19009188  
       8 天前
    老哥整个截图软件吧
    Socrazy
        15
    Socrazy  
       8 天前 via iPhone
    @lihaoyun6
    嗷嗷,确实没注意,是你的组件跟系统自带的太像了
    Yi
        16
    Yi  
       8 天前
    在用 airbuudy ,有个问题是电量数据同步不即时,OP 的有优化吗?
    Yi
        17
    Yi  
       8 天前
    更正 buddy
    lihaoyun6
        18
    lihaoyun6  
    OP
       8 天前
    @Yi 我自己也买过 AirBuddy, 也苦恼过它的数据更新不及时.
    所以在 AirBattery 里我做了专门的优化, 在尽量不影响设备耗电的情况下, 优化了数据更新频率和管理方法.
    目前 AirBattery 对 iPhone/iPad/Watch/VisionPro 的数据更新延迟在 1~3 分钟左右, 对于 AirPods/Beats 耳机的数据更新延迟大概在 1 分钟上下, 妙控设备和 Mac 本机电量几乎是实时更新的
    lihaoyun6
        19
    lihaoyun6  
    OP
       8 天前
    @Yi
    耳机和通过蓝牙发现的 iDevice 最好情况下 10 秒左右出结果;
    对于局域网内的 iDevice 最快 30 秒就能更新到数据
    Yi
        20
    Yi  
       8 天前
    @lihaoyun6 多谢老哥回复,马上试试
    Yi
        21
    Yi  
       8 天前
    不知道是不是 airbuddy 的同步功能( magic handoff )起了作用,虽然 iPhone 没用线连接过这台 Mac 也没信任过,启用 "通过蓝牙发现 iPhone / iPad(蜂窝版)" 选项和下面两个实验性选项后 iPhone 的电量可以直接显示在 AirBattery 上,这体验,倍儿顺滑
    lihaoyun6
        22
    lihaoyun6  
    OP
       8 天前
    @Yi 喜欢就好, 哈哈哈哈
    lihaoyun6
        23
    lihaoyun6  
    OP
       8 天前
    @Yi
    "不知道是不是 airbuddy 的同步功能( magic handoff )起了作用"
    不是的, "通过蓝牙发现 iPhone / iPad(蜂窝版)"这个功能的原理是:
    iPhone 和 iPad(蜂窝版)会通过蓝牙广播, 不断的向周围发送有关自己"个人热点"的状态信息. 你点击 macOS 菜单栏上的 wifi 按钮, 会看到里面有自己 iPhone 的热点信息, 靠的就是解析这个广播数据.
    AirBattery 在启用了"通过蓝牙发现 iPhone / iPad(蜂窝版)"之后, 也会去读取并解析这套蓝牙广播数据, 并从中获取到设备的电量信息. 但是这套数据只包含电量, 却不包含充电状态. 所以才会有下面那个实验性的"推测蓝牙设备充电状态"功能.
    Foralrec
        24
    Foralrec  
       8 天前
    体验真棒,开机启动了。
    OP 另外一个软件要是能比肩 ScreenStudio 就好了,想买断/捐赠 不想订阅
    lihaoyun6
        25
    lihaoyun6  
    OP
       8 天前
    2024/04/26:

    QuickRecorder v1.0.7 更新日志:
    - 系统要求降低至 macOS 12.3
    - 添加了快捷键支持
    - 添加了"屏幕放大器"功能
    - 添加了"保存当前帧截图"功能
    - 修复了某些界面中的布局错位问题
    - 开机自启动时默认不会弹出主面板

    https://github.com/lihaoyun6/QuickRecorder/releases/latest
    Yi
        26
    Yi  
       7 天前
    @lihaoyun6 学到了,哈哈哈。

    除了电量数据刷新更『即时』外又发现一个优点:airbuddy 只会在最初(基本上是刚安装好时)显示与 iPhone 配对的 Watch 的电量,airbattery 则可以一直显示手表电量。

    另外不知道是不是 BUG ,macOS 12 在状态栏点击 airbattery 图标后再点击设置或关于无法打开设置或弹出关于,macOS 14 下无问题。
    lihaoyun6
        27
    lihaoyun6  
    OP
       7 天前
    @Yi 这个问题我试了一下, 但是暂时无法复现.
    我使用 macOS 12.4 系统的虚拟机进行了测试, 点击菜单栏图标, 并在弹出的列表菜单左上角点击齿轮图标, 是可以打开设置窗口的, 关于也是可以打开的😢
    wellblink
        28
    wellblink  
       7 天前
    试了一下很好用,有两个建议:1.能否增加 Dock 栏和状态栏同时不显示的功能,因为我只想用到小组件
    2.能否增加小组件背景磨砂玻璃的选项开关,感觉白色一片不太好看
    lihaoyun6
        29
    lihaoyun6  
    OP
       7 天前
    @wellblink 第一个需求可以做到, 我会在后续版本中添加选项
    第二个需求做不到, 因为只有苹果官方的小组件可以使用高斯模糊背景, 这是一个私有 API, 第三方小组件用不了
    lw0717
        30
    lw0717  
       7 天前
    OP 厉害了
    jasongin
        31
    jasongin  
       7 天前
    很好用,感谢
    KyrieJoshua
        32
    KyrieJoshua  
       7 天前
    支持一下,很符合我的需求!
    SEVLT
        33
    SEVLT  
       7 天前
    好运哥! Big Sur 更新时在 qq 群和你讨论过图标,从那起也一直在用你的 capXDR ~感谢
    SEVLT
        34
    SEVLT  
       7 天前
    前两天也刚把你的 QuickRecorder 收入囊中
    ixuefeng
        35
    ixuefeng  
       6 天前
    感谢大佬,别的都很好,就是为啥手表的电量没在列表里出现?,能做的各种尝试都做了。
    lihaoyun6
        36
    lihaoyun6  
    OP
       6 天前
    @ixuefeng Watch 的信息只有在 iPhone 是"通过 WiFi 发现"的情况下才可以被读取到, 而且 Watch 是不能被独立读取的, 只能通过它所与之配对的主机 iPhone 才能获取到
    ixuefeng
        37
    ixuefeng  
       6 天前
    @lihaoyun6 收到,晚点试试
    klaus1105
        38
    klaus1105  
       6 天前
    可以添加一个开关,使得可以隐藏状态栏和 dock 栏的组件,只保留桌面小组件来看吗?还有可不可以只显示与本机配对的蓝牙设备,我的鼠标 airbuddy 可以显示电量,但是 airbattery 不显示,但是显示一个 M-Pencil ,也不是我的设备。
    CivAx
        39
    CivAx  
       6 天前
    之前用过类似功能的 Cloud Battery ,但是要求 Watch 必须安装表盘组件持续运行才能读取到电量,同时无法读取 Apple Pencil 、鼠标等绑定单台设备的配件,不知道你的这个有解决这种痛点吗?
    lihaoyun6
        40
    lihaoyun6  
    OP
       6 天前
    @CivAx
    AirBattery 通过整合多种数据渠道, 基本上做到了"无客户端 + 无感获取", 不需要在被检测设备上安装任何特殊 App.

    对于 Apple Watch 的电量信息, AirBattery 会通过检索局域网中与之配对的主机 iPhone, 并使用"lockdown proxy"方式通过 WiFi 访问 iPhone 的 lockdown 服务以读取准确的 Watch 实时电量.

    对于 Apple Pencil 我也无能为力. 因为 AirBattery 获取蓝牙设备电量是通过读取 BLE 广播报文实现的. 而蓝牙设备一旦和配对的主机建立连接之后, 通常情况下就不会再向外发射广播报文. 而 Pencil 基本上是和 iPad 实时保持连接的... 真的抢不过来🫠. 而且就算使用某些小手段强行抢断 Pencil 与 iPad 的连接, 读取到了电量, 也会因为 Pencil 没有连接到 iPad 而导致无法正常使用, 得不偿失...
    CivAx
        41
    CivAx  
       6 天前
    @lihaoyun6 #40 cool, lockdownd 读取电量的用法好像还是第一次见,无客户端太棒了,晚点全设备装上试试
    hexiaowu1993
        42
    hexiaowu1993  
       6 天前
    看起来很不错,已经给 up 点 star
    Ch1hao
        43
    Ch1hao  
       6 天前
    很棒,请尽快支持鼠标,,,anywhere3
    lihaoyun6
        44
    lihaoyun6  
    OP
       6 天前
    @klaus1105 @wellblink
    v1.3.0 已更新, 添加了彻底隐藏 App 图标的选项.
    PS: 彻底隐藏后如果需要修改 App 设置, 可以在 App 正在运行的情况下再次运行, 就会显示出窗口了
    mcczzz
        45
    mcczzz  
       5 天前
    我来提个意见,显示的不错,但是也感觉到了一个缺点,比如我已经扫描到了自己的所有的设备,然后电脑还是一直弹出 iphone 蓝牙配对的消息(应该是扫描到了别人的手机),如果在工作场地,体验就很差,有解决的办法吗?(取消扫描后自己的设备也会消失)
    klaus1105
        46
    klaus1105  
       5 天前
    还有个刚发现的问题。一旦打开通过蓝牙找到 idevice ,我的 AirPods Pro 第一代就会一直卡顿没有声音。关掉立马就好了。请开发者大大进一步优化,可能可以降低蓝牙发现的间隔来改善。
    Yi
        47
    Yi  
       4 天前
    @lihaoyun6 macOS 12.7.4 上 1.2.9 版本会出现,刚刚升级了 1.3.0 可以正常点进设置和关于了
    vimcaw
        48
    vimcaw  
       4 天前
    之前试过 Batteries 、Cloud Battery 和 AllMyBatteries ,总是因为更新不及时以及 UI 不够美观(喜欢贴近原生 iOS 电量显示那种)逐渐弃用了,op 这个是我用过最好的,后续可以考虑做 Pro 来进行营收(最好能上 Setapp ),Pro 可以加一些像所有设备的电量历史记录并带有可视化图表( AllMyBatteries 就有这个功能)的功能,方便回溯,还可以统计些充电速度之类的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   770 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:10 · PVG 06:10 · LAX 15:10 · JFK 18:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.