2015-05-20 12 views
5

Ich möchte HealthStore-Daten im Hintergrund mit Hintergrund holen abrufen, aber ich bekomme immer einen Fehler: Error Domain=com.apple.healthkit Code=6 "Protected health data is inaccessible" UserInfo=0x17026fdc0 {NSLocalizedDescription=Protected health data is inaccessible}.HealthKit-Daten im Hintergrund nicht zugänglich

von Apple heißt es:

Because the HealthKit store is encrypted, your app cannot read data from the store when the phone is locked. This means your app may not be able to access the store when it is launched in the background.

Gibt es Abhilfe Daten zuzugreifen im Hintergrund? Ist die HKObserverQuery die einzige Möglichkeit, Daten im Hintergrund zu erhalten?

Antwort

7

Wie in der von Ihnen zitierten Dokumentation angegeben, gibt es keine Möglichkeit, auf HealthKit-Daten zuzugreifen, während das Telefon gesperrt ist. Sie können jedoch auf die Daten zugreifen, wenn das Telefon entsperrt ist und sich Ihre App im Hintergrund befindet. Wenn also der Hintergrund abgerufen wird, während das Telefon entsperrt ist, können Sie auf die Daten zugreifen.

+0

Wenn dies die Fähigkeiten Ihrer App einschränkt, sollten Sie ein Radar einlegen (ich habe einen dazu eingereicht). – ospr

+0

Insbesondere können Sie sich für die Hintergrundlieferung von Daten registrieren, indem Sie - enableBackgroundDeliveryForType: frequency: withCompletion: on 'HKHealthStore' verwenden. – Allan

+2

Beachten Sie außerdem, dass die Verwendung von 'enableBackgroundDeliveryForType: frequency: withCompletion:' immer noch die Einschränkung hat, dass HealthKit-Daten nicht zugänglich sind, während das Telefon gesperrt ist. @tshortli würde das Beste wissen, aber ich denke nicht, dass es einen Workaround dafür gibt. – ospr

Verwandte Themen