iOS : 为 HealthKit、DOB、Height 等开发返回为 nil
iOS : Developing for HealthKit, DOB, Height etc coming back as nil
所以,我的任务是学习 HealthKit,看起来很简单。开始构建我自己的应用程序,可以获得步骤等。但是我无法获得出生日期、性别等。它们总是返回为 nil
然后我下载了 Apple 的示例应用程序 Fit,但还是一无所获。
我已经授权了这两个应用程序并在健康方面创建了医疗 ID我住在英国?这是我们唯一的事吗?
func readProfile() -> ( age:Int?, biologicalsex:HKBiologicalSexObject?, bloodtype:HKBloodTypeObject?)
{
var error:NSError?
var age:Int?
// 1. Request birthday and calculate age
if let birthDay = healthKitStore.dateOfBirthWithError(&error)
{
let today = NSDate()
let calendar = NSCalendar.currentCalendar()
let differenceComponents = NSCalendar.currentCalendar().components(.YearCalendarUnit, fromDate: birthDay, toDate: today, options: NSCalendarOptions(0) )
age = differenceComponents.year
}
if error != nil {
println("Error reading Birthday: \(error)")
}
// 2. Read biological sex
var biologicalSex:HKBiologicalSexObject? = healthKitStore.biologicalSexWithError(&error);
if error != nil {
println("Error reading Biological Sex: \(error)")
}
// 3. Read blood type
var bloodType:HKBloodTypeObject? = healthKitStore.bloodTypeWithError(&error);
if error != nil {
println("Error reading Blood Type: \(error)")
}
// 4. Return the information read in a tuple
return (age, biologicalSex, bloodType)
}
配置医疗 ID 不会填充任何 HealthKit 类型的值。尝试使用“健康”应用中的“健康数据”选项卡为每种类型设置值。
所以,我的任务是学习 HealthKit,看起来很简单。开始构建我自己的应用程序,可以获得步骤等。但是我无法获得出生日期、性别等。它们总是返回为 nil
然后我下载了 Apple 的示例应用程序 Fit,但还是一无所获。
我已经授权了这两个应用程序并在健康方面创建了医疗 ID我住在英国?这是我们唯一的事吗?
func readProfile() -> ( age:Int?, biologicalsex:HKBiologicalSexObject?, bloodtype:HKBloodTypeObject?)
{
var error:NSError?
var age:Int?
// 1. Request birthday and calculate age
if let birthDay = healthKitStore.dateOfBirthWithError(&error)
{
let today = NSDate()
let calendar = NSCalendar.currentCalendar()
let differenceComponents = NSCalendar.currentCalendar().components(.YearCalendarUnit, fromDate: birthDay, toDate: today, options: NSCalendarOptions(0) )
age = differenceComponents.year
}
if error != nil {
println("Error reading Birthday: \(error)")
}
// 2. Read biological sex
var biologicalSex:HKBiologicalSexObject? = healthKitStore.biologicalSexWithError(&error);
if error != nil {
println("Error reading Biological Sex: \(error)")
}
// 3. Read blood type
var bloodType:HKBloodTypeObject? = healthKitStore.bloodTypeWithError(&error);
if error != nil {
println("Error reading Blood Type: \(error)")
}
// 4. Return the information read in a tuple
return (age, biologicalSex, bloodType)
}
配置医疗 ID 不会填充任何 HealthKit 类型的值。尝试使用“健康”应用中的“健康数据”选项卡为每种类型设置值。