2015-10-05 2 views
1

Я пытаюсь вызвать enableBackgroundDeliveryForType после создания HKObserverQuery, но я понял, что даже сам метод отключен.Healthkit enableBackgroundDeliveryForType недоступен, не в состоянии рассчитать частоту сердечных сокращений каждый час

/*! 
@method  enableBackgroundDeliveryForType:frequency:withCompletion: 
@abstract  This method enables activation of your app when data of the type is recorded at the cadence specified. 
@discussion When an app has subscribed to a certain data type it will get activated at the cadence that is specified 
       with the frequency parameter. The app is still responsible for creating an HKObserverQuery to know which 
       data types have been updated and the corresponding fetch queries. Note that certain data types (such as 
       HKQuantityTypeIdentifierStepCount) have a minimum frequency of HKUpdateFrequencyHourly. This is enforced 
       transparently to the caller. 
*/ 

Так как вызвать работу, которая будет проверять сердечный ритм каждый час.

healthStore.enableBackgroundDeliveryForType(sampleType, frequency: .Immediate, withCompletion: {(succeeded: Bool, error: NSError?) in 

     if succeeded{ 
      print("Enabled background delivery of weight changes") 
     } else { 
      if let theError = error{ 
       print("Failed to enable background delivery of weight changes. ") 
       print("Error = \(theError)") 
      } 
     } 
    }) 

Ниже приведен запрос, который я запускаю, чтобы получить образец.

ответ

3

Невозможно запланировать запуск приложений watchOS 2.0 в фоновом режиме для запроса данных HealthKit. Приложения для watchOS 2.0 обычно могут работать только на переднем плане, пока экран часов включен.

2

2 вещи, один метод, который вы пытаетесь получить, в настоящее время предназначен только для iPhone. У Apple часы даже не имеют состояния фона, вместо этого вместо него остается неактивное состояние. Второе яблоко пообещало, что расширение просмотра часов при выполнении тренировок позволит оставаться на переднем плане, и это, как правило, верно до тех пор, пока пользовательское запястье не опустится :(В любом случае удачи и, надеюсь, вы поняли, как реализовать для своей цели.

I я не знаком с процессом, но вы можете просто запланировать усложнение, чтобы обновлять каждый час, когда вы можете попытаться извлечь последний известный объект сердечного ритма из магазина здоровья. В любом случае никогда не пробовал это для моих целей, и я почти уверен, что есть некоторые вещи, которые будут нужно изменить, но это просто мысль.

ИЛИ вещь, о которой я только подумал о внедрении. Попробуйте поймать изменения в магазине на телефоне, а затем отправить данные на часы через передачу фона. немедленно обновляется или ежедневно .. до вас, а затем отправить его на часы с телефона, не будет обломком для фоновых приложений, я надеюсь.