2016-12-07 9 views
1

は、私は、クエリの実行には完了ブロック再放送0の値たびにiOSでヘルスキットを使用してbodyTemperatureを取得する方法は?私は以下のiWatchで体温を取得しようとしています

override func willActivate() { 
    super.willActivate() 

    guard let type=HKQuantityType.quantityType(forIdentifier: .bodyTemperature) else { 
     return 
    } 

    let dataTypes=Set(arrayLiteral:type) 

    healthStore.requestAuthorization(toShare: nil, read: dataTypes) { (success, error) in 

     if success==false{ 
      print("Authorize Unsuccessfull ") 
     } 
    } 
} 

@IBAction func startBtnTapped(){ 
     startSession() 
    } 


func startSession(){ 

    session = HKWorkoutSession(activityType: HKWorkoutActivityType.crossTraining, locationType: HKWorkoutSessionLocationType.indoor) 
    session?.delegate = self 
    healthStore.start(session!) 
} 


func workoutSession(_ workoutSession: HKWorkoutSession, didChangeTo toState: HKWorkoutSessionState, from fromState: HKWorkoutSessionState, date: Date) { 

    switch toState { 
    case .running: 
     if let query=createQuery(date){ 
     healthStore.execute(query) 
    } 
    case .ended: 
     workoutEnd(date) 
    default: 
     print("Unexpted state:\(toState)") 
    } 
} 

func createQuery(_ startDate:Date)->HKQuery?{ 

    guard let type=HKObjectType.quantityType(forIdentifier: .bodyTemperature) else { 
     return nil 
    } 

    let predicate=getPredicate() 

    let query=HKAnchoredObjectQuery(type: type, predicate: predicate, anchor: nil, limit: Int(HKObjectQueryNoLimit)) { (query, sample, deletedObject, newAnchor, error) in 

     print("query:\(query)") 
     print("sample:\(sample)") 
     print("deletedObject:\(deletedObject)") 
     print("newAnchor:\(newAnchor)") 

     self.updateValues(sample) 
    } 

    query.updateHandler={(query,sample,deletedObject,newAcnhor,error) in 

     self.updateValues(sample) 
    } 

    return query 
} 

を書かれているコードです。同じコードが心拍数を得るために働いています。私は、体温、グルコース速度、bodyFatPercentage、bodyMassIndexなどの他のものをhalthkitから取得する手順を知らない。誰もが事前

+0

入手したいサンプルはありますか?どのアプリがそれらを保存しましたか? – Allan

+0

@Allan私はhealthstoreで利用可能なサンプルを取得しようとしています。基本的に私はiWatchで試しています。 – Rafeeq

+0

@Allanまた、私は腕時計センサーを使って何が得られるのか知りたかったのです。私はこれについていくつかのGoogleをしましたが、これで私を案内してください成功しない – Rafeeq

答えて

0

アップルウォッチには、本体の温度センサーがありませんで、この

おかげで私を助けることができます。 HealthKitの体温サンプルは、アプリによって保存されたか、ユーザーが手動で入力したものです。

+0

センサーについてのお問い合わせをありがとうございます。上記のコードは、健康ストアのダッシュボードから温度を取得するために書かれています。私はどこで間違っていたのか教えていただけますか?上のコードから私はダッシュボードに格納されている温度のサンプルを取得していません – Rafeeq

+0

「ダッシュボード」の意味を明確にすることはできますか?体温サンプルはどのように追加されましたか?これはどれくらい古いのですか? – Allan

+0

私のポイントダッシュボードでは、健康アプリにある健康データです。健康データに体温を手動で追加しました。 – Rafeeq

関連する問題