4

watchOS 2 のベータ 2 では、シミュレーターとデバイスの両方が HealthKit データを要求して操作できました。

しかし、ベータ 3 では、何かが変わったようです。期待どおり、シミュレーターは引き続き HealthKit アクセスを要求できますが、Apple Watch はそれを要求しないようです。次のエラーが表示されます。

エラーが発生しました = エラー Domain=com.apple.healthkit Code=4 「com.apple.developer.healthkit 資格がありません。」UserInfo=0x7fa748534b00 {NSLocalizedDescription=com.apple.developer.healthkit 資格がありません。

他の誰かがこれを見ていますか?シミュレーターでは動作するが、実際の Apple Watch では動作せず、それが私のせいである可能性はありますか? 現時点では、Apple Watch を構築するのに非常に時間がかかるため、答えを見つけるのは非常に困難です。

インターフェイスコントローラー:

let healthKitManager = HealthKitManager()

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()

    if healthKitManager.checkForHealthKitCapabilities() {
        print("HealthKit is available")

        // If device has HealthKit capabilities request access
        healthKitManager.requestHealthKitAccess()

    } else {
        print("HealthKit not available\n")

        return
    }
}

ヘルスキットマネージャー:

func checkForHealthKitCapabilities() -> Bool {

    return HKHealthStore.isHealthDataAvailable()
}

func requestHealthKitAccess() {

    let typesToShare = Set([
        self.heartRateType,
        ])

    let typesToRead = Set([
        self.heartRateType,
        ])

    self.healthStore.requestAuthorizationToShareTypes(typesToShare, readTypes: typesToRead) {
        success, error in

        if error != nil {
            print("RequestHealthKit \(error)")
        } else {
            print("We got access")
        }  
    }
}
4

0 に答える 0