- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在查询 HKWorkout
时遇到问题。
下面是我用来保存 HKWorkout
和 HKQuantitySample
的代码。
func workout(#distance:Double, start: NSTimeInterval, paused:NSTimeInterval, resume:NSTimeInterval, end:NSTimeInterval, calory:Double) -> HKWorkout {
var event1_ = HKWorkoutEvent(type: HKWorkoutEventType.Pause, date: self.minutesBeforeNow(paused))
var event2_ = HKWorkoutEvent(type: HKWorkoutEventType.Resume, date: self.minutesBeforeNow(resume))
var calories_ = HKQuantity(unit: HKUnit.calorieUnit(), doubleValue: calory)
var distance_ = HKQuantity(unit: HKUnit.meterUnit(), doubleValue: distance)
var meta_ = [
"TITLE":"WORKOUT_TEST",
"TEAM":"TEAM WAG",
"ID":"\(arc4random()%999)"
]
var workout_ = HKWorkout(
activityType: HKWorkoutActivityType.Cycling,
startDate: self.minutesBeforeNow(start),
endDate: self.minutesBeforeNow(end),
workoutEvents: [event1_, event2_],
totalEnergyBurned: calories_,
totalDistance: distance_,
metadata: meta_)
return workout_
}
func quantity(#distance:Double, start:NSTimeInterval, end:NSTimeInterval) -> HKQuantitySample {
var meta_ = [
"TITLE":"QUANTITY_SAMPLE_TEST",
"ID":"\(arc4random()%99)"]
var sample_ = HKQuantitySample(
type: HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceCycling),
quantity: HKQuantity(unit: HKUnit.meterUnit(), doubleValue: distance),
startDate: self.minutesBeforeNow(start),
endDate: self.minutesBeforeNow(end),
metadata:meta_)
return sample_
}
func minutesBeforeNow(min:NSTimeInterval) -> NSDate {
return NSDate().dateByAddingTimeInterval(-60 * min)
}
我保存了代码并且工作正常。即使我可以像 HKSampleQuery 一样查询
var predicate_ = HKQuery.predicateForSamplesWithStartDate(self.minutesBeforeNow(120), endDate: self.minutesBeforeNow(10), options: HKQueryOptions.None)
var query_ = HKSampleQuery(sampleType: HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceCycling),
predicate: predicate_,
limit: 10,
sortDescriptors: nil) { (let sampleQuery, let samples, let error) -> Void in
BKLog("")
for sample in samples as [HKQuantitySample]
{
var meter_ = sample.quantity.doubleValueForUnit(HKUnit.meterUnit())
var km_ = meter_ / 1000
BKLog("\(sample.metadata?.description), \(km_))")
}
};
但是,当我尝试使用 HKWorkoutType 进行查询时,我什么也得不到。
var query_ = HKSampleQuery(
sampleType: HKSampleType.workoutType(),
predicate: nil,
limit: 10,
sortDescriptors: nil) { (let query, let objects, let error) -> Void in
BKLog("") // 1
if(error != nil)
{
BKLog("ERROR : \(error.localizedDescription)") // 2
return
}
else
{
BKLog("WORKOUST : \(objects.count)") // 3
}
for workout in objects {
}
}
奇怪的是我没有收到完成 block 的日志。第 1、2、3 条评论日志中没有日志。
当我使用 class func predicateForObjectsFromWorkout(workout: HKWorkout!) -> NSPredicate!
时,它按预期工作。
为什么我无法通过 HKWorkoutType()
查询获得任何信息?
BKLog只是一个成型的日志函数
最佳答案
这似乎是 iOS8.1 中修复的 HealthKit 错误。我在 8.1 之前遇到了完全相同的问题,但相同的代码在 8.1 中运行良好。我检查使用 8.1 使用:
NSOperatingSystemVersion iOSVersionInWhichHealthKitActuallyWorks;
iOSVersionInWhichHealthKitActuallyWorks.majorVersion = 8;
iOSVersionInWhichHealthKitActuallyWorks.minorVersion = 1;
iOSVersionInWhichHealthKitActuallyWorks.patchVersion = 0;
if (![[NSProcessInfo processInfo]isOperatingSystemAtLeastVersion:iOSVersionInWhichHealthKitActuallyWorks]) {
}
关于swift - HKWorkout 的 HKSampleQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26209327/
为重量创建一个 HKSampleQuery(但不执行它) 创建并执行一个关于重量的 HKObserverQuery 在观察者查询的updateHandler中,执行权重样本查询 第一次执行示例查询时工
我希望将 HealthKit HKSampleQuery 返回的结果限制为通过我自己的应用程序输入的结果。有没有一种方法可以仅使用我的应用程序包标识符指定结果,从而排除从其他应用程序返回的任何其他数据
我想获取 HealthKit 数量数据并按数量值对它们进行排序。是否可以? 我知道我可以通过在 NSPredicate 中使用 HKPredicateKeyPathQuantity 来过滤它们,但我找
我在查询 HKWorkout 时遇到问题。 下面是我用来保存 HKWorkout 和 HKQuantitySample 的代码。 func workout(#distance:Double, star
我正在尝试获取过去一个月的所有心率样本,并从中提取时间和值。 到目前为止,我有以下方法: func getThisMonthsHeartRates() { print("func called
我在使用 HKSampleQuery 获取最新的体重数据点时遇到问题。我已正确设置应用程序权限,但 HKQuantityTypeIdentifier.bodyMass 未从 Health 应用程序返回
这是一款 WatchOS 应用。通过测试,似乎这段代码只会返回我手动添加到健康应用程序中的不到 1 周的任何体重值。这是故意的吗?周围的方式? func getUserBodyMass(complet
所以我在调试分布式应用程序崩溃时遇到问题。我无法亲自重现此崩溃。然而,似乎有大量用户遇到了问题。我怀疑这与 HKSampleQuery 有关,并且可能没有返回任何结果。但我不明白为什么当许多用户表示他
所以我正在关注苹果文档 here 我想做的是访问 HKSampleQuery 上的 HKMetadataKeyHeartRateMotionContext 键。如果 HrContext = 1 并且
我正在尝试返回最近 7 天记录的心跳样本。我认为我的方法不错,但我仍然不太确定我的查询部分。这是我到目前为止所做的。唯一被打印的想法是 95 count/min 90EBAB07-9CAB-445E-
当我需要从 HealthKit 读取数据时,我的代码是这样的: let stepsCount = HKQuantityType.quantityTypeForIdentifier(HKQuantity
我的应用程序使用 HealthKit 框架来检索用户健康数据。我想从 HealthKit 获得大约 25 个不同的数据点。 为此,我目前在示例查询的完成处理程序内的 for-loop 中进行了 25
我是一名优秀的程序员,十分优秀!