业务需求,需要在IOSAPP中获取当前用户的健康信息(步数记录)
实现步骤:
1:项目引入模块 “pedometer ”,该模块同时也支持安卓步数统计,不过安卓的步数统计相对比较不靠谱。
2:登录IOS平台,将下面权限勾选,重新生成新的APP证书,并上传到apicloud平台。(注意要重新生成证书,并提交替换)
3:在APP项目下的res目录中,创建文件 UZApp.entitlements ,并写入下列代码
下方配置为,仅实现healthkit
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.developer.healthkit</key> <true/> </dict> </plist>
如果你的项目已经配置过 Associated Domains 即 Universal Links的话可以参考下方配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.developer.associated-domains</key> <array> <string>applinks:appopen.******.cn</string> </array> <key>com.apple.developer.healthkit</key> <true/> </dict> </plist>
4:在你需要获取步数数据的地方,调用该方法(注意,IOS只支持getStepCount)。
var pedometer = api.require('pedometer'); pedometer.getStepCount({ count: 0, startTime: '2016-07-13 07:20:30', //时间自己换 endTime: '2016-07-13 12:00:00' //时间自己换 }, function(ret) { alert(JSON.stringify(ret)); });
5:把你的代码提交到云端,然后在云编译那边,选择IOS打包,并勾选如下选项。
(记住这一步很重要,不管是正式版还是loader都需要重新打包,不然无法正常获取参数)
(此处添加权限的时候,记住,权限描述要写满12个字以上。健康分享权限是必要的,其余的根据需求自行添加。)
(记得,要提交代码然后重新打包,不管你是云编译还是自定义loader。切记)
OK打包后,安装上去,初次点击获取功能,就会弹出IOS自带的健康APP提醒你授权,就能正常获取健康数据了。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com