#ios #swift #xcode #healthkit
#iOS #swift #xcode — код #healthkit
Вопрос:
func reuqestConnection(){
var permReq: Set? = [HKObjectType.quantityType(forIdentifier: .heartRateVariabilitySDNN),
HKObjectType.quantityType(forIdentifier: .restingHeartRate),
HKObjectType.quantityType(forIdentifier: .heartRate)]
if let healthStore = healthStore{
healthStore.requestAuthorization(toShare: nil, read: permReq){ (success, error) in
if(!success){
//redirect to error view to try again.
}
}
}
}//func ends
Это код, нет ничего другого, кроме функции init, которая просто определяет HKHealthStore. Ошибка, которую я получаю, возникает при запросе авторизации для
Cannot convert value of type 'Set<HKQuantityType?>?' to expected argument type 'Set<HKObjectType>?'
Я не уверен, что это значит, так как ранее я не получал эту ошибку. Что я, по-твоему, здесь должен делать?
Комментарии:
1. Вы заполняете массив элементами типа (Set<HKQuantityType?>?), В то время как ожидаемый — другой (Set).
Ответ №1:
Попробуй это. В настоящее время я использовал принудительное разворачивание для HKObjectType.quantityType
. Ты должен справиться с этим.
func reuqestConnection(){
var permReq: Set = [HKObjectType.quantityType(forIdentifier: .heartRateVariabilitySDNN)!,
HKObjectType.quantityType(forIdentifier: .restingHeartRate)!,
HKObjectType.quantityType(forIdentifier: .heartRate)!]
if let healthStore = healthStore{
healthStore.requestAuthorization(toShare: nil, read: permReq ){ (success, error) in
if(!success){
//redirect to error view to try again.
}
}
}
}
Комментарии:
1. О, хорошо, я пропустил!. Спасибо!