iPhone のバッテリー残量の確認です。UIDevice クラスのメソッドのcurrent.batteryLevel
を使えば簡単にできます。
Swift 5.1
Xcode 11.3.1
Xcode 11.3.1
current.batteryLevel
によると、UIDevice.current.batteryLevelで返ってくる値は、0.0 から1.0 まででモニタリングができない場合は「-1」が返ってきます。
ステータスは「UIDeviceBatteryStateUnknown」
同様にUIDevice.current.batteryStateで充電中かどうかのステータスも確認できます。
事前にモニタリングをtrueにする必要があります。
ViewContorller.swift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import UIKit class ViewController: UIViewController { @IBOutlet var labelBatteryLevel: UILabel! @IBOutlet var labelBatteryStatus: UILabel! override func viewDidLoad() { super.viewDidLoad() // バッテリーのモニタリングをenableにする UIDevice.current.isBatteryMonitoringEnabled = true let bLevel:Float = UIDevice.current.batteryLevel if(bLevel == -1){ // バッテリーレベルがモニターできないケース labelBatteryLevel.text = "Battery Level: ?" } else{ labelBatteryLevel.text = "Battery Level: \(bLevel * 100) %" } // Battery Status var state:String = "Battery Status: " if UIDevice.current.batteryState == UIDevice.BatteryState.unplugged { state += "Unplugged" } if UIDevice.current.batteryState == UIDevice.BatteryState.charging { state += "Charging" } if UIDevice.current.batteryState == UIDevice.BatteryState.full { state += "Full" } if UIDevice.current.batteryState == UIDevice.BatteryState.unknown { state += "Unknown" } labelBatteryStatus.text = state } } |
後はストーリーボードにLabelを貼り付けて紐づけすればできあがりです。
(注)simulatorではテストできませんので実機で確認しましょう。
関連ページ:
- Battery 電池残量を調べる
- フラッシュLEDを点灯させる
- スクリーンの輝度取得と変更
References:
batteryLevel – UIDevice | Apple Developer Documentation
UIDevice – UIKit | Apple Developer Documentation