は、私は、クエリの実行には完了ブロック再放送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から取得する手順を知らない。誰もが事前
入手したいサンプルはありますか?どのアプリがそれらを保存しましたか? – Allan
@Allan私はhealthstoreで利用可能なサンプルを取得しようとしています。基本的に私はiWatchで試しています。 – Rafeeq
@Allanまた、私は腕時計センサーを使って何が得られるのか知りたかったのです。私はこれについていくつかのGoogleをしましたが、これで私を案内してください成功しない – Rafeeq