2016-11-03 3 views
1

Das veraltete UpdateSystemActivity() funktioniert, indem "der Power Manager darüber informiert wird, dass die Aktivität stattgefunden hat und die Zeitgeber, die zur Messung der Leerlaufzeit verwendet werden, auf den Zeitpunkt dieses Aufrufs aktualisiert werden sollten."Ersatz für veraltetes UpdateSystemActivity() zum Zurücksetzen von Zeitgebern zur Messung der Leerlaufzeit.

Die Dokumentation empfiehlt die Verwendung von IOPMAssertionCreateWithName (...), aber diese Methode setzt den Timer für die Leerlaufzeit nicht zurück; Es verhindert, dass die Maschine für immer schläft, bis IOPMAssertionRelease (...) aufgerufen wird. Die Verwendung von IOPMAssertionCreateWithName (...) ist für meine aktuelle Codebasis ungeeignet.

Gibt es nicht veraltete Methoden, die den Timer für die Messung der Leerlaufzeit zurücksetzen?

Danke!

+0

Es gibt einige "timeout" Methoden in diesen Tagen FWIW: IOPMAssertionCreateWithDescription wie haben Sie messen Leerlaufzeit vorher? – rogerdpack

Antwort

0

Hier ist die Antwort in Swift 3.x:

var assertionID : IOPMAssertionID = 0 _ = IOPMAssertionDeclareUserActivity("TeslaWatcher" as CFString, kIOPMUserActiveLocal, &assertionID)

Verwandte Themen