我想更新Apple Health的生日。但我不知道如何。
这是我的授权功能:
private func requestAuthorisationForHealthStore() {
let dataTypesToWrite = [
HKCharacteristicType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierDateOfBirth),
HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMass),
HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeight)
]
let dataTypesToRead = [
HKCharacteristicType.characteristicTypeForIdentifier(HKCharacteristicTypeIdentifierDateOfBirth),
HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMass),
HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeight)
]
self.healthStore?.requestAuthorizationToShareTypes(NSSet(array: dataTypesToWrite),
readTypes: NSSet(array: dataTypesToRead), completion: {
(success, error) in
if success { println("User completed authorisation request.") }
else { println("The user cancelled the authorisation request. \(error)") }
})
}
为了请求生日,我打电话给我的职能:
func requestAgeAndUpdate() {
var error: NSError?
let dob = self.healthStore?.dateOfBirthWithError(&error)
if error != nil {
println("There was an error requesting the date of birth: \(error)")
return
}
self.ageLabel.text = "\(dob)"
}
但我如何以编程方式更改/更新生日?
感谢您的帮助!
答案 0 :(得分:3)
您不能以编程方式更改这些特征。用户必须通过Health App输入此数据。
HKCharacteristicType类是其中的具体子类 HKObjectType类。 HealthKit使用特征类型来表示 通常不会随时间变化的数据。与其他对象不同 类型,特征类型不能用于创建新的HealthKit 对象。相反,用户必须输入和编辑其特征数据 使用Health应用程序。特征类型仅在询问时使用 有权从HealthKit商店读取数据。
答案 1 :(得分:0)
HealthKit框架参考;
HealthKit对象可以分为两大类:特征 和样品。特征对象表示通常的数据 没变。这些数据包括用户的出生日期,血型和 生物性别。您的应用程序无法保存特征数据。该 用户必须使用Health应用程序输入或修改此数据。