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