2014-09-22 3 views
0

Apple Health에서 생일을 업데이트하고 싶습니다. 하지만 어떻게해야할지 모르겠다.Swift HealthKit 업데이트 생일

이 내 인증 FUNC입니다 : 내 함수를 호출

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)" 
} 

하지만 변경하는 방법/프로그래밍 생일을 업데이트?

도움 주셔서 감사합니다.

답변

3

이러한 특성은 프로그래밍 방식으로 변경할 수 없습니다. 사용자는 Health App을 통해이 데이터를 입력해야합니다. documentation

HKCharacteristicType 클래스에서

는 HKObjectType 클래스의 구상 서브 클래스입니다. HealthKit은 특성 유형을 사용하여 일반적으로 시간이 지남에 따라 변경되지 않는 데이터 인 을 나타냅니다. 다른 개체 유형과 달리 새 HealthKit 개체를 만들려면 특성 유형을 사용할 수 없습니다. 대신 건강 앱을 사용하여 특성 데이터 을 입력하고 편집해야합니다. 특성 유형은 에 HealthKit 저장소에서 데이터를 읽을 수있는 권한을 요청하는 경우에만 사용됩니다.

0

HealthKit Framework 참고 자료; 특성 샘플 :

https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HealthKit_Framework/index.html#//apple_ref/doc/uid/TP40014707

HealthKit

객체는 두 개의 주요 그룹으로 분류 될 수있다. 특성 개체는 일반적으로 을 변경하지 않는 데이터를 나타냅니다. 이 데이터에는 사용자의 생년월일, 혈액형 및 생물학적 인 성별이 포함됩니다 ( ). 응용 프로그램이 특성 데이터를 저장할 수 없습니다. 사용자는 상태 앱을 사용하여이 데이터를 입력하거나 수정해야합니다.

관련 문제