Отображение батареи iPhone на Apple Watch

-6

Я пытаюсь отобразить оставшийся уровень заряда аккумулятора iPhone на ярлыке в приложении apple watch. Я пробовал использовать WatchConnectivity и отправлять сообщения между iphone и Apple Watch, но не работал. Могу ли я это сделать?

спросил(а) 2017-07-31T17:00:00+03:00 3 года, 2 месяца назад
0
71

Сначала просто включите мониторинг батареи:

UIDevice.current.isBatteryMonitoringEnabled = true

Затем вы можете создать вычисленное свойство, чтобы вернуть уровень заряда батареи:

var batteryLevel: Float {
return UIDevice.current.batteryLevel
}

Чтобы контролировать уровень заряда вашего устройства, вы можете добавить наблюдателя для уведомления UIDeviceBatteryLevelDidChange:

NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: .UIDeviceBatteryLevelDidChange, object: nil)
func batteryLevelDidChange(_ notification: Notification) {
print(batteryLevel)
}

Вы также можете проверить состояние батареи:

var batteryState: UIDeviceBatteryState {
return UIDevice.current.batteryState
}
case .unknown // "The battery state for the device cannot be determined."
case .unplugged // "The device is not plugged into power; the battery is discharging"
case .charging // "The device is plugged into power and the battery is less than 100% charged."
case .full // "The device is plugged into power and the battery is 100% charged."

и добавьте наблюдателя для уведомления UIDeviceBatteryStateDidChange:

NotificationCenter.default.addObserver(self, selector: #selector(batteryStateDidChange), name: .UIDeviceBatteryStateDidChange, object: nil)
func batteryStateDidChange(_ notification: Notification) {
switch batteryState {
case .unplugged, .unknown:
print("not charging")
case .charging, .full:
print("charging or full")
}
}

Теперь у вас есть все свойства, необходимые для вашей батареи. Просто передай их на часы!

Надеюсь это поможет.

ответил(а) 2017-07-31T17:21:00+03:00 3 года, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема