Cordova plugin for the iOS HealthKit framework
Objective-C JavaScript
Clone or download
EddyVerbruggen Merge pull request #97 from anibalsanchez/master
Update: PhoneGap Build new builder - cli-7/8
Latest commit c6b15ea Mar 1, 2018

README.md

Cordova HealthKit Plugin

Marketplace logo For a quick demo app and easy code samples, check out the plugin page at the Verified Plugins Marketplace: http://plugins.telerik.com/plugin/healthkit

Supported functions

See the example for how to use these functions.

  • available: check if HealthKit is supported (iOS8+, not on iPad)
  • checkAuthStatus: pass in a type and get back on of undetermined | denied | authorized
  • requestAuthorization: ask some or all permissions up front
  • readDateOfBirth: formatted as yyyy-MM-dd
  • readGender: output = male|female|other|unknown
  • readBloodType: output = A+|A-|B+|B-|AB+|AB-|O+|O-|unknown
  • readFitzpatrickSkinType: output = I|II|III|IV|V|VI|unknown
  • readWeight: pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone)
  • saveWeight: pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) and amount
  • readHeight: pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot)
  • saveHeight: pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) and amount
  • saveWorkout
  • findWorkouts: no params yet, so this will return all workouts ever of any type
  • querySampleType
  • querySampleTypeAggregated
  • sumQuantityType
  • monitorSampleType
  • saveQuantitySample
  • saveCorrelation
  • queryCorrelationType
  • deleteSamples

Resources

Tips

Installation

Using the Cordova CLI?

cordova plugin add com.telerik.plugins.healthkit --variable HEALTH_READ_PERMISSION='App needs read access' --variable HEALTH_WRITE_PERMISSION='App needs write access'

HEALTH_READ_PERMISSION and HEALTH_WRITE_PERMISSION are shown when your app asks for access to data in HealthKit.

Using PhoneGap Build?

<plugin name="com.telerik.plugins.healthkit" source="npm" />

<!-- Read access -->
<config-file platform="ios" parent="NSHealthShareUsageDescription">
  <string>App needs read access</string>
</config-file>
<!-- Write access -->
<config-file platform="ios" parent="NSHealthUpdateUsageDescription">
  <string>App needs write access</string>
</config-file>

Using PhoneGap Build - cli-7 or superior?

PhoneGap Build has recently migrated from the custom build process to the standard Cordova build process. If you are already running on the new builder, it is no longer necessary to add the variables differently, and the variables must be defined as in the Cordova case.

<platform name="ios">
    <plugin name="com.telerik.plugins.healthkit" spec="^0.5.5" >
        <variable name="HEALTH_READ_PERMISSION" value="App needs read access" />
        <variable name="HEALTH_WRITE_PERMISSION" value="App needs write access" />
    </plugin>        
</platform>