Ich möchte prüfen, ob HeathKit für mich autorisiert wurde, die Daten des Benutzers zu lesen, wenn ich autorisierte Übergänge zu den Workouts habe, wenn keine Warnung ausgegeben wird. Aber requestAuthorizationToShareTypes scheint immer wahr zu sein? Wie kann ich feststellen, ob der Benutzer mich autorisiert hat oder nicht?
%Vor%Alternativ habe ich authorizationStatusForType ausprobiert und seine Enum-Werte eingeschaltet, hatte aber das gleiche Problem, dass ich immer autorisiert bin.
Sie interpretieren falsch, was die success
-Flag in diesem Kontext bedeutet.
Wenn success
wahr ist, heißt das nur, dass iOS den Benutzer erfolgreich nach dem Health-Kit-Zugriff gefragt hat. Es bedeutet NICHT, dass sie diese Frage mit einem "Ja" beantwortet haben.
Um festzustellen, ob sie Ja / Nein sagten, müssen Sie spezifischer werden und Gesundheits-Kit fragen, wenn Sie die Erlaubnis haben, den bestimmten Typ von Daten zu lesen / schreiben, an dem Sie interessiert sind. Aus den Apple-Dokumenten zu HealthKit:
Nachdem Sie die Autorisierung angefordert haben, ist Ihre App bereit, auf den HealthKit-Store zuzugreifen. Wenn Ihre App die Berechtigung zum Freigeben eines Datentyps besitzt, kann sie Muster dieses Typs erstellen und speichern. Sie sollten überprüfen, ob Ihre App die Berechtigung zum Freigeben von Daten hat, indem Sie authorizationStatusForType aufrufen: bevor Sie versuchen, alle Beispiele zu speichern.
Tags und Links ios swift health-kit