当前位置: 首页 > news >正文

中小企业建站的方法产品设计网站制作

中小企业建站的方法,产品设计网站制作,嘉兴网站建设方案托管,门户网站自查整改情况报告文章目录 一、简介二、权限配置1. 在开发者账号中勾选HealthKit2. 在targets的capabilities中添加HealthKit。3. infoPlist需要配置权限 三、创建健康数据管理类1. 引入头文件2. 健康数据读写权限3. 检查权限4. 读取步数数据5. 写入健康数据 四、运行获取权限页面 一、简介 He… 文章目录 一、简介二、权限配置1. 在开发者账号中勾选HealthKit2. 在targets的capabilities中添加HealthKit。3. infoPlist需要配置权限 三、创建健康数据管理类1. 引入头文件2. 健康数据读写权限3. 检查权限4. 读取步数数据5. 写入健康数据 四、运行获取权限页面 一、简介 HealthKit是一款用于搜集和办理医疗和健康相关数据的开发工具包它为开发者供给了拜访用户健康数据的API和框架并使得这些数据能够与iOS设备上的其他应用程序相互共享。 HealthKit允许应用程序搜集和办理各种类型的健康数据包含身体丈量数据如体重、身高和心率、健身数据如步数和距离、饮食数据、睡觉数据和心理健康数据等。这些数据能够从多个来历搜集如从硬件设备如智能手表、智能手机和健身跟踪器中获取或由用户手动输入。 二、权限配置 1. 在开发者账号中勾选HealthKit 2. 在targets的capabilities中添加HealthKit。 3. infoPlist需要配置权限 Privacy - Health Share Usage Description 需要您的同意才能访问健康更新给您带来更好的服务 Privacy - Health Update Usage Description 需要您的同意才能分享健康数据给您带来更好的服务 注意iOS13 这里描述太粗糙会导致程序崩溃。 三、创建健康数据管理类 1. 引入头文件 import HealthKit2. 健康数据读写权限 // 写权限private func dataTypesToWrite() - SetHKSampleType {// 步数let stepCountType HKObjectType.quantityType(forIdentifier: .stepCount)// 身高let heightType HKObjectType.quantityType(forIdentifier: .height)// 体重let weightType HKObjectType.quantityType(forIdentifier: .bodyMass)// 活动能量let activeEnergyType HKObjectType.quantityType(forIdentifier: .activeEnergyBurned)// 体温let temperatureType HKObjectType.quantityType(forIdentifier: .bodyTemperature)// 睡眠分析let sleepAnalysisType HKObjectType.categoryType(forIdentifier: .sleepAnalysis)let setTypes Set([stepCountType, heightType, weightType, activeEnergyType, temperatureType, sleepAnalysisType].compactMap { $0 })return setTypes}// 读权限private func dataTypesToRead() - SetHKObjectType {// 步数let stepCountType HKObjectType.quantityType(forIdentifier: .stepCount)// 身高let heightType HKObjectType.quantityType(forIdentifier: .height)// 体重let weightType HKObjectType.quantityType(forIdentifier: .bodyMass)// 体温let temperatureType HKObjectType.quantityType(forIdentifier: .bodyTemperature)// 出生日期let birthdayType HKObjectType.characteristicType(forIdentifier: .dateOfBirth)// 性别let sexType HKObjectType.characteristicType(forIdentifier: .biologicalSex)// 步数跑步距离let distance HKObjectType.quantityType(forIdentifier: .distanceWalkingRunning)// 活动能量let activeEnergyType HKObjectType.quantityType(forIdentifier: .activeEnergyBurned)// 睡眠分析let sleepAnalysisType HKObjectType.categoryType(forIdentifier: .sleepAnalysis)let setTypes Set([stepCountType, heightType, weightType, activeEnergyType, birthdayType, sexType, distance, temperatureType, sleepAnalysisType].compactMap { $0 })return setTypes}3. 检查权限 /// 检查是否支持获取健康数据public func authorizeHealthKit(_ compltion: ((_ success: Bool, _ error: Error?) - Void)?) {guard HKHealthStore.isHealthDataAvailable() true else {let error NSError(domain: 不支持健康数据, code: 2, userInfo: [NSLocalizedDescriptionKey: HealthKit is not available in th is Device])if let compltion compltion {compltion(false, error)}return}let writeDataTypes dataTypesToWrite()let readDataTypes dataTypesToRead()healthStore.requestAuthorization(toShare: writeDataTypes, read: readDataTypes) { success, error inif let compltion compltion {compltion(success, error)}}}4. 读取步数数据 /// 获取步数public func getStepCount(_ completion: escaping ((_ stepValue: String?, _ error: Error?) - Void)) {// 要检索的数据类型。guard let stepType HKObjectType.quantityType(forIdentifier: .stepCount) else {let error NSError(domain: 不支持健康数据, code: 2, userInfo: [NSLocalizedDescriptionKey: HealthKit is not available in th is Device])completion(nil, error)return}// NSSortDescriptors用来告诉healthStore怎么样将结果排序。let start NSSortDescriptor.init(key: HKSampleSortIdentifierStartDate, ascending: false)let end NSSortDescriptor.init(key: HKSampleSortIdentifierEndDate, ascending: false)/*param sampleType 要检索的数据类型。param predicate 数据应该匹配的基准。param limit 返回的最大数据条数param sortDescriptors 数据的排序描述param resultsHandler 结束后返回结果*/let query HKSampleQuery.init(sampleType: stepType, predicate: HealthKitManager.getStepPredicateForSample(), limit: HKObjectQueryNoLimit, sortDescriptors: [start, end]) { _, results, error inguard let results results else {completion(nil, error)return}print(resultCount \(results.count) result \(results))// 把结果装换成字符串类型var totleSteps 0results.forEach({ quantitySample inguard let quantitySample quantitySample as? HKQuantitySample else {return}let quantity quantitySample.quantitylet heightUnit HKUnit.count()let usersHeight quantity.doubleValue(for: heightUnit)totleSteps Int(usersHeight)})print(最新步数\(totleSteps))completion(\(totleSteps), error)}healthStore.execute(query)}5. 写入健康数据 /// 写入数据public func writeStep() {let steps HKObjectType.quantityType(forIdentifier: .stepCount)!let quantity HKQuantity(unit: HKUnit.count(), doubleValue: 1000)let now Date()let start now.addingTimeInterval(-3600 * 24)let end nowlet sample HKQuantitySample(type: steps, quantity: quantity, start: start, end: end)let healthStore HKHealthStore()healthStore.save(sample) { (success, _) inif success {// 数据已写入 HealthKit} else {// 写入数据失败}}}四、运行获取权限页面
http://www.hkea.cn/news/14547140/

相关文章:

  • 福田专业做网站公司免费素材网png
  • 织梦dedeeims网站打不开如何在google上免费推广
  • 物流公司网站建设方案邢台网站设计
  • 平台网站制作公司网龙网络公司校园招聘
  • 住房和城乡建设部网站安全分会wordpress地产主题
  • 番禺人才网站wordpress数字交易主题
  • 国外做免费的视频网站有哪些广州机械加工
  • 长沙设计网站公司网站建设要购买服务器吗
  • 网站空间被攻击建工网校app下载
  • 怎样做网站底部导航crm管理系统怎么用
  • 安康网站建设公司价格西数网站管理助手
  • 山东省住房城乡建设厅查询网站首页个人网页设计尺寸
  • 专注赣州网站建设seo网上课程
  • 营销网站大全做视频投稿赚钱的网站
  • 极简资讯网站开发服务类网站建设策划书
  • 龙岗企业网站设计公司旅游企业公司网站建设
  • 如何做网站截流盐城做网站公司
  • 设计工作室网站网站建设是属于软件开发费吗
  • 政务网站系统唐山制作手机网站
  • 学网站开发多久网站标题改动
  • 什么网站可以做引文分析南京网站工作室
  • 免费网站转app网站更换服务器教程
  • 海外访问国内网站 dns网站建设和服务器运营
  • 校园网上零售网站建设方案如何开网店无货源不需要投资
  • 网站建设西安郑州艾特网站建设
  • 网站设计就业培训内蒙古优途国际旅行社
  • 网站开发用户注册重庆专业的网站建设公司
  • 手机网站建设软件下载广州市花都区建设局网站
  • 合肥网站建设渠道wordpress 枚举用户
  • 做网站加一个定位功能要多少钱网站建设设计公司 知乎