1

在 iOS 11 之前,我一直在使用 idevice** 二进制文件从 iPhone 中提取信息,从型号 6 到 X 通过idevicediagnostics.exeon Windows OSvia idevicediagnostics ioreg AppleARMPMUCharger

然而,随着 iOS 12 的发布,一切都停止了。我从这个命令导出的曾经是一个活泼的文件(转换为 JSON)现在是一个空的 xml 文档。现在我这样做是因为我们公司的业务。我们提取电池信息作为保险、证明和历史,以证明电池尽可能好。还可以在使用时跟踪电池序列号和 SOH 值。

我已经下载了几个更新的 idevice** 二进制文件,甚至更新了 iTunes 和 Apple 驱动程序,但正如我所料,它现在坏了。现在,我正在寻找替代方法来做到这一点,是否有任何其他 API 可以完成与 AppleARMPMUCharger 曾经相同的工作?我正在考虑开发一个小型 iOS 应用程序,它将从 iPhone 本身导出数据并将其发送到 FTP 或 REST API 可能吗?但是,我不知道要将它连接到哪个注册表或命名空间。

值得注意的是 CoconutBattery - 一个也可以从 iPhone 读取电池信息的 MacOS 应用程序仍然可以按预期工作。让我想知道,他们是如何做到的,或者他们在看什么 API。

寻找积极的回应,欢呼。

PS:将路由链接到运行命令时导出的实际文件。

4

2 回答 2

0

您可以尝试使用AppleSmartBattery密钥获取信息吗?参见libimobiledevice#823

于 2019-09-05T12:59:18.113 回答
0

我有一个类似的问题,最终通过重新安装 libmobiledevice 解决了。我从这个 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,请按照本网站的说明进行操作。

因此,最后,重新安装 libmobiledevice 解决了这个问题。

于 2019-06-27T17:34:35.083 回答