Es wurde festgestellt, dass eine App, die eine HKWorkoutSession ausführt, spezielle Berechtigungen gegenüber anderen watchOS 2-Apps hat. Wenn ein Benutzer seine Apple Watch anschaut, wird die Ansicht angezeigt Zeige, dass man eher ein Workout als das Uhrgesicht ausführt.HKWorkoutSession hält die App nicht an der Vorderseite der Apple Watch
Momentan ist dies auf meinem Gerät und Simulator nicht der Fall. Wenn ich eine HKWorkoutSession starte und dann 5 Minuten lang gehe und dann entweder mit der Apple Watch oder dem Watch Simulator interagiere, wird das Zifferblatt angezeigt.
Wenn ich dann meine App öffne, scheint sie eingefroren worden zu sein, anstatt beendet zu werden (was ich mir vorstelle passiert mit anderen Apps). Wie die Benutzeroberfläche aktualisiert wird, wenn ich eine Antwort in meinem query.updateHandler erhalten muss. Auch wenn ich jedesmal, wenn mein query.updateHandler einen neuen HKQuantitySample erhält, haptisches Feedback geben werde, so wird dies auch geschehen, also muss die App in irgendeiner Form im Hintergrund laufen.
Hat jemand anderes dieses Verhalten bemerkt, und tue ich etwas falsch oder erwarte etwas, was ich nicht tun sollte?
Hier ist, wie ich meine HKWorkoutSession starten:
self.workoutSession = HKWorkoutSession(activityType: HKWorkoutActivityType.Other, locationType: HKWorkoutSessionLocationType.Indoor)
self.healthStore.startWorkoutSession(self.workoutSession) {
success, error in
if error != nil {
print("startWorkoutSession \(error)\n")
self.printLabel.setText("startWorkoutSession \(error)")
self.printLabel.setTextColor(UIColor.redColor())
}
Nach weiteren Untersuchungen habe ich entschieden, dass mein Code weiterhin im Hintergrund läuft, und dass ich Code haben sollte, um die Benutzeroberfläche von willActivate zu aktualisieren, anstatt auf eine neue Abfrage zu warten. Ich halte das etwas länger offen, da es keine eindeutige Antwort darauf gibt, warum die App nicht im Vordergrund bleibt. –
Hast du versucht, die Einstellung auf der AppleWatch zu ändern, die die letzte Aktivität beim Handgelenkheben öffnet? In der AppleWatch App auf IOS General. Wenn dies für Ihre Benutzer wichtig ist, könnten Sie sie auffordern, die Einstellung zu ändern. – Philip
Ja, das ist eine gute Idee, wenn dieser "Bug" zum Standardverhalten wird. Im Idealfall möchte ich aber den Benutzer nicht zwingen, seinen Apple Watch "Workflow" nur für meine App zu ändern. –