2015-11-04 95 views
1

具体来说,我的意思是电池的健康状况,充电水平,电压。看起来似乎没有一种简单的方法可以做到这一点。有谁知道是否有简单的方法,或者如果没有,如何实现它?如何在Mac上获取电池信息?

+1

有我的Swift版本[在这个答案](http://stackoverflow.com/questions/31633503/fetch-the-battery-status-of-my-macbook-with-swift/31659561#31659561),它可能帮你。只要忽略关于桥接头的第一部分并像通常那样导入即可。 – Moritz

+0

我想要更多的信息,如电池温度,年龄,像System Profiler显示的制造商。 jBot-42的答案是最好的,但我无法接受它9分钟。 – ssccsscc

回答

1

我创建了一个开源且易于使用的框架,名为SystemInfoKit以获取所有系统信息,CPU,内存和网络使用情况以及温度。

这里是所有需要得到所有的电池信息代码:

// At top of file 
#import <SystemInfoKit/SystemInfoKit.h> 

JSKSystemMonitor *systemMonitor = [JSKSystemMonitor systemMonitor]; 

JSKMBatteryUsageInfo batteryUsageInfo = systemMonitor.batteryUsageInfo; 

NSLog(@"Battery Installed: %hhd", batteryUsageInfo.present); 
NSLog(@"Battery Fully Charged: %hhd", batteryUsageInfo.full); 
NSLog(@"Battery Connected To Charger: %hhd", batteryUsageInfo.acConnected); 
NSLog(@"Battery Charging: %hhd", batteryUsageInfo.charging); 

NSLog(@"Battery Voltage: %f V", batteryUsageInfo.voltage); 
NSLog(@"Battery Amperage: %f A", batteryUsageInfo.amperage); 

NSLog(@"Battery Design Capacity: %f mAh", batteryUsageInfo.designCapacity); 
NSLog(@"Battery Maximum Capacity: %f mAh", batteryUsageInfo.maximumCapacity); 
NSLog(@"Battery Current Capacity: %f mAh", batteryUsageInfo.currentCapacity); 

NSLog(@"Battery Design Cycle Count: %lu Cycles", batteryUsageInfo.designCycleCount); 
NSLog(@"Battery Cycle Count: %lu Cycles", batteryUsageInfo.cycleCount); 
NSLog(@"Battery Age: %lu Days", batteryUsageInfo.ageInDays); 

更多信息是here

+0

也许你的图书馆很有帮助,但为了提高答案的质量,最好包括一些关于如何获得图书馆电池信息的代码。 – JAL

+1

这太棒了。我不知道这可能是如此简单。温度的东西也很棒。 – ssccsscc

+0

@ssccsscc你有他的github页面和SystemInfoKit的源代码的文档/教程吗?该用户已删除 – SkrewEverything

相关问题