直到iOS 11之前,我一直在使用idevice **二进制文件通过idevicediagnostics.exe
上的Windows OS
上的idevicediagnostics ioreg AppleARMPMUCharger
从iPhone 6到X机型提取信息。
但是,随着iOS 12的发布,一切都停止了工作。我从该命令导出的曾经是lively file(转换为JSON),现在是empty xml document。现在,我这样做是因为我们公司的业务。我们提取电池信息作为保险,证明以及电池质量的历史记录。同时跟踪电池序列号和SOH值。
我已经下载了几个更新的idevice **二进制文件,甚至更新了iTunes和Apple驱动程序,但正如我所期望的那样,它现在坏了。现在,我正在寻找替代方法,是否还有其他API可以完成AppleARMPMUCharger曾经做过的工作?我正在考虑使用小型iOS应用程序,该应用程序将从iPhone本身中导出数据并将其发送到FTP或REST API。但是,我不知道将其连接到哪个注册表或名称空间。
值得注意的是,CoconutBattery是一个MacOS应用程序,它也可以从iPhone读取电池信息,仍然可以正常工作。我不知道他们是如何做到的,或者他们正在看什么API。
寻找积极的回应,欢呼。
PS:将路由链接到运行该命令时导出的实际文件。
答案 0 :(得分:0)
我有一个类似的问题,该问题最终通过重新安装libmobiledevice得以解决。我从this Github issue找到了说明。为了方便起见,我也在此处发布了这些说明。
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies ideviceinstaller
brew uninstall --ignore-dependencies usbmuxd
sudo rm /var/db/lockdown/*
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install --HEAD ideviceinstaller
如果您的计算机中未安装Brew,请按照this website中的说明进行操作。
因此,最后,重新安装libmobiledevice解决了该问题。
答案 1 :(得分:0)
您可以尝试使用AppleSmartBattery
键来获取信息吗?参见libimobiledevice#823