初めてアプリケーションを起動すると、バッテリレベルが正しくfloat batteryLevel = [UIDevice currentDevice].batteryLevel
で取得されます。しかし、後で自分のコードで取得しようとすると、バッテリーのレベルが変わっても常に同じ値になります。バッテリレベルの取得は、初めて行うときにのみ実行されます
[UIDevice currentDevice].batteryLevel
を呼び出すと、最初の結果と同じ結果が返されます。たとえば、バッテリのレベルがアプリの起動時に30%だった場合、10分後に再度取得しようとすると30%も得られます実際には、この時点での電池残量は40%です。
これはどうして起こるのでしょうか?あなたは、バッテリー状態通知UIDeviceBatteryStateDidChangeNotification
を使用することができます変更するバッテリーレベルを監視するために
タイトルが変更され、文法が固定 –
「batteryMonitoringEna 「はい」に出血?そうしないと、*変更点を見ることができなくなります。 ['batteryMonitoringEnabled'](https://developer.apple.com/documentation/uikit/uidevice/1620045-batterymonitoringenabled?language=objc) – Honey
私のアプリを開くたびに、' '' batteryMonitoringEnabled'''を '' ' '' YES'''、 '' 'NO'''、' 'batteryStatus'''は' '' '' unknown'''、値は '' '-1''''なので、それ。このivarは他の要因の影響を受けていますか? – Wakeen