Ios 检查电池电量

Ios 检查电池电量,ios,swift,Ios,Swift,我刚开始使用Swift,我一直在寻找检查电池电量的方法。我发现了它,并一直在玩弄它,但由于某种原因,它似乎无法发挥作用 我不太确定如何着手解决这个问题。有什么想法吗 var batteryLevel:Float{get} 确保首先启用电池监控=) Xcode 11•Swift 5.1 首先,只需启用电池监控: UIDevice.current.isBatteryMonitoringEnabled = true 然后可以创建计算属性以返回电池电量: 电池电量范围从0.0(完全放电)到1.0(10

我刚开始使用Swift,我一直在寻找检查电池电量的方法。我发现了它,并一直在玩弄它,但由于某种原因,它似乎无法发挥作用

我不太确定如何着手解决这个问题。有什么想法吗

var batteryLevel:Float{get}

确保首先启用电池监控=)


Xcode 11•Swift 5.1

首先,只需启用电池监控:

UIDevice.current.isBatteryMonitoringEnabled = true
然后可以创建计算属性以返回电池电量:

电池电量范围从0.0(完全放电)到1.0(100% 充电)。在访问此属性之前,请确保电池 已启用监视。如果未启用蓄电池监控,则蓄电池 状态为UIDevice.BatteryState.unknown,此属性的值为 is–1.0

要监视设备的电池电量,您可以为
ui设备添加一个观察者。电池级别更改通知

NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: UIDevice.batteryLevelDidChangeNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(batteryStateDidChange), name: UIDevice.batteryStateDidChangeNotification, object: nil)

电池电量范围从0.0(完全放电)到1.0(100%充电)。在访问此属性之前,请确保已启用电池监控。
如果未启用电池监控,电池状态为UIDevice.BatteryState.unknown,此属性的值为–1.0



您还可以验证电池状态:

var batteryState: UIDevice.BatteryState { UIDevice.current.batteryState }


并为UIDevice.batteryStateDidChangeNotification添加观察者:

NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: UIDevice.batteryLevelDidChangeNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(batteryStateDidChange), name: UIDevice.batteryStateDidChangeNotification, object: nil)


非常感谢这正是我想要的极好的答案。。!!在我的情况下不起作用。Receiving-1.0 alwaysSwift语法对通知做了一些更改:NotificationCenter.default.addObserver(self,选择器:#选择器(BatteryLevel DidChange),名称:UIDevice.BatteryLevel DidChangeNotification,对象:nil)NotificationCenter.default.addObserver(self,选择器:#选择器(batteryStateDidChange),名称:UIDevice.batteryStateDidChangeNotification,对象:nil)您还必须发布您面临的问题
NotificationCenter.default.addObserver(self, selector: #selector(batteryStateDidChange), name: UIDevice.batteryStateDidChangeNotification, object: nil)
@objc func batteryStateDidChange(_ notification: Notification) {
    switch batteryState {
    case .unplugged, .unknown:
        print("not charging")
    case .charging, .full:
        print("charging or full")
    }
}