我正在尝试将一些数据保存到 HealthKit。为每个项目发送一个 UUID。它是一个转换成字符串的 NSUUID。
hk_acceptsMetadataValue:]: unrecognized selector sent to
我不明白我做错了什么。有什么想法吗?
// Save new item to the Health App
func saveSample(amount:Double, date:NSDate, uuid: String ) {
// Create metadata
let metadata : NSDictionary = [HKMetadataKeyExternalUUID : uuid]
// Create a Sample
let unit = HKUnit.literUnitWithMetricPrefix(.Milli)
let type = HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDietaryWater)
let quantity = HKQuantity(unit: unit, doubleValue: amount)
let sample = HKQuantitySample(type: type!, quantity: quantity,
startDate: date, endDate: date, metadata:metadata as! [String : AnyObject])
// Save the Sample in the store
healthKitStore.saveObject(sample, withCompletion: { (success, error) -> Void in
if( error != nil ) {
print("Error saving Sample: \(error!.localizedDescription)")
} else {
print("Sample saved successfully!")
}
})
}
因为元数据应该是一个字符串 Xcode 建议我添加为! [String : AnyObject] 在我创建示例时在变量元数据之后。
还是一样的错误
最佳答案
您在使用 HealthKit 时遇到了一个已知问题。您可以通过为元数据显式创建 NSDictionary 而不是 Swift 字典来解决该错误。
关于ios - 尝试保存元数据 - HealthKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262108/