iOS8で、HealthKitを使って開発をしております。
基本的なHealthKitでの読み込み等は実装がうまく出来ました。

そこで、権限が許可されているかどうかの処理を入れるために、
HKHealthStore.authorizationStatusForType
を使って、許可されているかどうかのチェックを行い、処理を分岐しようと考えています。

ただ、HKHealthStore.authorizationStatusForTypeの返却値が、
端末の[設定]>[プライバシー]>[ヘルスケア]の設定を変更しても、変わらずに"SharingDenied"が返ってきてしまいます。

何か、根本的に勘違いをしている箇所等ございましたら、ご指摘頂けますと幸いです。

下記のrequestAuthorization() をViewControllerのviweWillAppearで呼び出してチェックしています。

override func viewWillAppear(animated: Bool) {

    if(self.healthWeek.isAuthorization()) {
       // データ取得処理など 
    }else{
        self. requestAuthorization()
    }
}
func requestAuthorization() {

    // 読み込みを許可する型.
    let typeOfRead = [
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount),
        HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierFlightsClimbed)
    ]
    let typeOfReads = NSSet(array: typeOfRead)

    // 書き込みを許可する型.
    let typeOfWrite = []
    let typeOfWrites = NSSet(array: typeOfWrite as [AnyObject])

    // HealthStoreへのアクセス承認をおこなう.
    self.myHealthStore.requestAuthorizationToShareTypes(typeOfWrites as Set<NSObject>, readTypes: typeOfReads as Set<NSObject>, completion: {
        (success: Bool, error: NSError!) in
        if success {
            println("Success!")
        } else {
            println("Error!")
        }
    })
}

/*
 *  HealthStoreの共有領域にアクセスする権限があるかを確認します
 *  @return true:あり
 */
func isAuthorization() -> Bool {
    println("isHealthDataAvailable \(HKHealthStore.isHealthDataAvailable())")
    let stepCountStatus = self.myHealthStore.authorizationStatusForType(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount))
    let flightsClimbedStatus = self.myHealthStore.authorizationStatusForType(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierFlightsClimbed))

    println("stepCountStatus")
    println("SharingAuthorized=\(stepCountStatus == .SharingAuthorized)")
    println("SharingDenied=\(stepCountStatus == .SharingDenied)")
    println("NotDetermined=\(stepCountStatus == .NotDetermined)")
    println("flightsClimbedStatus")
    println("SharingAuthorized=\(flightsClimbedStatus == .SharingAuthorized)")
    println("SharingDenied=\(flightsClimbedStatus == .SharingDenied)")
    println("NotDetermined=\(flightsClimbedStatus == .NotDetermined)")

    return ( (stepCountStatus == .SharingAuthorized) && (flightsClimbedStatus == .SharingAuthorized) )
}

以下が実行した結果になります。
■端末の[設定]>[プライバシー]>[ヘルスケア]の設定で許可にした場合

Success!
isHealthDataAvailable true
stepCountStatus
SharingAuthorized=false
SharingDenied=true
NotDetermined=false
flightsClimbedStatus
SharingAuthorized=false
SharingDenied=true
NotDetermined=false

■端末の[設定]>[プライバシー]>[ヘルスケア]の設定で許可をはずした場合

Success!
isHealthDataAvailable true
stepCountStatus
SharingAuthorized=false
SharingDenied=true
NotDetermined=false
flightsClimbedStatus
SharingAuthorized=false
SharingDenied=true
NotDetermined=false

xcode6.3
swift1.2
で実装をしております。

宜しくお願い致します。