2010-12-15 36 views
6

在iTunes中,你可以看到当前连接的iPhone的充电状态:如何从Mac获取连接的iPhone的充电状态?

Screenshot of iTunes showing an iPhone in the list of devices with the charge status indicated.

此更新的电话费,当手机正在充电完成甚至显示。

有没有一种方法可以从Mac上以编程方式发现充电状态?任何编程语言或API都很好。

+0

对不起,我才意识到,这是不完全* *清晰我想从Mac访问它 - 而不是从iPhone访问。编辑... – 2010-12-15 18:45:00

+0

可能的重复http://stackoverflow.com/questions/4041263 – 2010-12-23 12:25:51

+0

是的,这绝对是沿着相同的路线 - 我愿意在适当的建议,如果需要。 – 2010-12-23 16:08:27

回答

1

据我所知,与iPhone通过USB通信的唯一官方方式/蓝牙是通过注册了“iPhone专用”计划:

http://developer.apple.com/programs/mfi/

不幸的是,文件似乎是关闭注册成员,所以我不能找出这是公共或私人的API。您可以在申请之前联系Apple进行检查。

更新:如上所述,这可能不适用于Mac/PC < - >通过USB的iPhone通信。有几款应用程序可以通过USB进行手机操作(尽管通常用于读取/写入文件)。我通过观察这些源代码开始:

http://code.google.com/p/iphonedisk

这至少应该把你在一个位置,你必须给设备的连接,并能够发送/接收命令。所有曾经做过这类事情的人都必须花时间对这件事进行逆向工程:)越狱社区也许能够提供一些洞察力,尽管实际上越狱设备可能是不可接受的。

+0

我认为这只适用于配件,不幸的是不会从mac端授予访问权限。 – MCannon 2010-12-18 14:10:15

+0

是的,我从来没有把它看成是从来没有这样做过。我想首先看看通过USB与iPhone通话的其他应用程序的源代码,例如FUSE扩展程序:http://code.google.com/p/iphonedisk/source/browse/#svn% 2Ftrunk%2Fmobilefs。虽然它不会提供您需要的代码,但它只是朝着正确的方向迈出的一步,只是要弄清楚如何与手机“说话”。 – d11wtq 2010-12-18 15:14:00

+0

我不确定iPhoneDisk代码是否有用,但至少是我在想的方向;在iPhone上运行的Bonjour应用程序并不是一个坏主意,但对我的目的来说并不是特别有用。感谢您的链接! – 2010-12-24 15:43:07

3

我会建议在iOS设备上的应用程序中设置Bonjour服务以与计算机进行通信。然后,应用程序将使用UIDevice的batteryMonitoringEnabled属性传达连击状态中的更改。看看这里的示例代码。

BatteryStatus Sample Code

这里是类引用

UIDevice Class Reference

最后的Bonjour编程

Bonjour programming guide

+0

这肯定会起作用,但这对于什么我最终想到的是(强迫用户始终运行应用程序会很不方便)。还是)感谢你的建议! – 2010-12-21 17:05:29