私がやりたかったのは、バッテリーのパーセンテージをログオンすることです。Linuxで同等のものはsysctl(hw.acpi.battery.life)であることを私は知っています。しかし、mac os xでsysctlの人を調べたところ、それを見つけるための同等のコードが見つかりませんでした。誰かがObjectivecを使用してこれを行う方法を指摘できますか?sysctlbynameを呼び出すことはできますが、構造体の入力としてこれがありません。親切に助けてください
7174 次
3 に答える
19
IOKitとIOPowerSources関数を使用してみてください。IOPSCopyPowerSourcesInfo()を使用してブロブを取得し、IOPSCopyPowerSourcesList () を使用してそこから CFArray を抽出し、電源を一覧表示できます。最後に、IOPSGetPowerSourceDescription()を使用して辞書を取得できます。
コマンド ラインを使用できる場合は、pmsetコマンドを使用できます。
そのようです:
$ pmset -g
于 2009-09-16T13:09:44.990 に答える
3
コマンドラインで ioreg を使用することもできます。例えば:
ioreg -l -w0 |grep CurrentCapacity
現在のバッテリーの状態が表示され、最大容量と比較できます。
ioreg -l -w0 |grep MaxCapacity
于 2011-12-16T19:01:38.850 に答える
1
バッテリ ステータスに関する詳細情報を取得するもう 1 つの方法は、NSTask を使用して、SPPowerDataType を引数として system_profiler コマンドを実行することです。私の Mac では、次の結果が得られます。
バッテリー情報:
Model Information:
Serial Number: W01396THJD3LA
Manufacturer: SMP
Device Name: bq20z451
Pack Lot Code: 0
PCB Lot Code: 0
Firmware Version: 201
Hardware Revision: 000a
Cell Revision: 165
Charge Information:
Charge Remaining (mAh): 5013
Fully Charged: Yes
Charging: No
Full Charge Capacity (mAh): 5086
Health Information:
Cycle Count: 72
Condition: Normal
Battery Installed: Yes
Amperage (mA): -300
Voltage (mV): 12303
具体的に何を取得するには、適切な行を解析するか、次のコマンドで plist を生成します。
$ system_profiler SPPowerDataType -xml > BatteryInfo.plist
これにより、特定のキーに基づいて値を取得しやすくなります。
于 2012-12-11T19:25:45.600 に答える