Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
rn-apple-healthkit
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ym
rn-apple-healthkit
Commits
dd643582
Commit
dd643582
authored
Feb 04, 2018
by
Evgenii Evstropov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
extended support for workouts
parent
22894714
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
135 additions
and
7 deletions
+135
-7
RCTAppleHealthKit/RCTAppleHealthKit+Queries.m
RCTAppleHealthKit/RCTAppleHealthKit+Queries.m
+6
-7
RCTAppleHealthKit/RCTAppleHealthKit+Utils.h
RCTAppleHealthKit/RCTAppleHealthKit+Utils.h
+1
-0
RCTAppleHealthKit/RCTAppleHealthKit+Utils.m
RCTAppleHealthKit/RCTAppleHealthKit+Utils.m
+128
-0
No files found.
RCTAppleHealthKit/RCTAppleHealthKit+Queries.m
View file @
dd643582
...
@@ -133,24 +133,23 @@
...
@@ -133,24 +133,23 @@
dispatch_async
(
dispatch_get_main_queue
(),
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
if
(
type
==
[
HKObjectType
workoutType
])
{
if
(
type
==
[
HKObjectType
workoutType
])
{
for
(
HKWorkout
*
sample
in
results
)
{
for
(
HKWorkout
*
sample
in
results
)
{
HKQuantity
*
quantity
=
sample
.
quantity
;
double
energy
=
[[
sample
totalEnergyBurned
]
doubleValueForUnit
:[
HKUnit
kilocalorieUnit
]];
double
value
=
[
quantity
doubleValueForUnit
:
unit
];
double
distance
=
[[
sample
totalDistance
]
doubleValueForUnit
:[
HKUnit
mileUnit
]];
NSString
*
type
=
[
RCTAppleHealthKit
stringForHKWorkoutActivityType
:[
sample
workoutActivityType
]];
NSString
*
startDateString
=
[
RCTAppleHealthKit
buildISO8601StringFromDate
:
sample
.
startDate
];
NSString
*
startDateString
=
[
RCTAppleHealthKit
buildISO8601StringFromDate
:
sample
.
startDate
];
NSString
*
endDateString
=
[
RCTAppleHealthKit
buildISO8601StringFromDate
:
sample
.
endDate
];
NSString
*
endDateString
=
[
RCTAppleHealthKit
buildISO8601StringFromDate
:
sample
.
endDate
];
NSDictionary
*
elem
=
@{
NSDictionary
*
elem
=
@{
@"value"
:
@
(
value
),
@"type"
:
type
,
@"energy"
:
@
(
energy
),
@"distance"
:
@
(
distance
),
@"startDate"
:
startDateString
,
@"startDate"
:
startDateString
,
@"endDate"
:
endDateString
,
@"endDate"
:
endDateString
,
paramName
:
@
(
param
),
paramName
:
@
(
param
),
};
};
[
data
addObject
:
elem
];
[
data
addObject
:
elem
];
NSLog
(
@"%lu"
,
(
unsigned
long
)[
sample
workoutActivityType
]);
NSLog
(
@"energy burned %f"
,
[[
sample
totalEnergyBurned
]
doubleValueForUnit
:[
HKUnit
kilocalorieUnit
]]);
NSLog
(
@"total distance %f"
,
[[
sample
totalDistance
]
doubleValueForUnit
:[
HKUnit
mileUnit
]]);
}
}
}
else
{
}
else
{
for
(
HKQuantitySample
*
sample
in
results
)
{
for
(
HKQuantitySample
*
sample
in
results
)
{
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Utils.h
View file @
dd643582
...
@@ -32,5 +32,6 @@
...
@@ -32,5 +32,6 @@
+
(
bool
)
boolFromOptions
:(
NSDictionary
*
)
options
key
:(
NSString
*
)
key
withDefault
:(
bool
)
defaultValue
;
+
(
bool
)
boolFromOptions
:(
NSDictionary
*
)
options
key
:(
NSString
*
)
key
withDefault
:(
bool
)
defaultValue
;
+
(
NSMutableArray
*
)
reverseNSMutableArray
:(
NSMutableArray
*
)
array
;
+
(
NSMutableArray
*
)
reverseNSMutableArray
:(
NSMutableArray
*
)
array
;
+
(
NSString
*
)
stringForHKWorkoutActivityType
:(
int
)
enumValue
;
@end
@end
RCTAppleHealthKit/RCTAppleHealthKit+Utils.m
View file @
dd643582
...
@@ -320,4 +320,132 @@
...
@@ -320,4 +320,132 @@
return
array
;
return
array
;
}
}
+
(
NSString
*
)
stringForHKWorkoutActivityType
:(
int
)
enumValue
{
switch
(
enumValue
){
case
HKWorkoutActivityTypeAmericanFootball
:
return
@"AmericanFootball"
;
case
HKWorkoutActivityTypeArchery
:
return
@"Archery"
;
case
HKWorkoutActivityTypeAustralianFootball
:
return
@"AustralianFootball"
;
case
HKWorkoutActivityTypeBadminton
:
return
@"Badminton"
;
case
HKWorkoutActivityTypeBaseball
:
return
@"Baseball"
;
case
HKWorkoutActivityTypeBasketball
:
return
@"Basketball"
;
case
HKWorkoutActivityTypeBowling
:
return
@"Bowling"
;
case
HKWorkoutActivityTypeBoxing
:
return
@"Boxing"
;
case
HKWorkoutActivityTypeClimbing
:
return
@"Climbing"
;
case
HKWorkoutActivityTypeCricket
:
return
@"Cricket"
;
case
HKWorkoutActivityTypeCrossTraining
:
return
@"CrossTraining"
;
case
HKWorkoutActivityTypeCurling
:
return
@"Curling"
;
case
HKWorkoutActivityTypeCycling
:
return
@"Cycling"
;
case
HKWorkoutActivityTypeDance
:
return
@"Dance"
;
case
HKWorkoutActivityTypeDanceInspiredTraining
:
return
@"DanceInspiredTraining"
;
case
HKWorkoutActivityTypeElliptical
:
return
@"Elliptical"
;
case
HKWorkoutActivityTypeEquestrianSports
:
return
@"EquestrianSports"
;
case
HKWorkoutActivityTypeFencing
:
return
@"Fencing"
;
case
HKWorkoutActivityTypeFishing
:
return
@"Fishing"
;
case
HKWorkoutActivityTypeFunctionalStrengthTraining
:
return
@"FunctionalStrengthTraining"
;
case
HKWorkoutActivityTypeGolf
:
return
@"Golf"
;
case
HKWorkoutActivityTypeGymnastics
:
return
@"Gymnastics"
;
case
HKWorkoutActivityTypeHandball
:
return
@"Handball"
;
case
HKWorkoutActivityTypeHiking
:
return
@"Hiking"
;
case
HKWorkoutActivityTypeHockey
:
return
@"Hockey"
;
case
HKWorkoutActivityTypeHunting
:
return
@"Hunting"
;
case
HKWorkoutActivityTypeLacrosse
:
return
@"Lacrosse"
;
case
HKWorkoutActivityTypeMartialArts
:
return
@"MartialArts"
;
case
HKWorkoutActivityTypeMindAndBody
:
return
@"MindAndBody"
;
case
HKWorkoutActivityTypeMixedMetabolicCardioTraining
:
return
@"MixedMetabolicCardioTraining"
;
case
HKWorkoutActivityTypePaddleSports
:
return
@"PaddleSports"
;
case
HKWorkoutActivityTypePlay
:
return
@"Play"
;
case
HKWorkoutActivityTypePreparationAndRecovery
:
return
@"PreparationAndRecovery"
;
case
HKWorkoutActivityTypeRacquetball
:
return
@"Racquetball"
;
case
HKWorkoutActivityTypeRowing
:
return
@"Rowing"
;
case
HKWorkoutActivityTypeRugby
:
return
@"Rugby"
;
case
HKWorkoutActivityTypeRunning
:
return
@"Running"
;
case
HKWorkoutActivityTypeSailing
:
return
@"Sailing"
;
case
HKWorkoutActivityTypeSkatingSports
:
return
@"SkatingSports"
;
case
HKWorkoutActivityTypeSnowSports
:
return
@"SnowSports"
;
case
HKWorkoutActivityTypeSoccer
:
return
@"Soccer"
;
case
HKWorkoutActivityTypeSoftball
:
return
@"Softball"
;
case
HKWorkoutActivityTypeSquash
:
return
@"Squash"
;
case
HKWorkoutActivityTypeStairClimbing
:
return
@"StairClimbing"
;
case
HKWorkoutActivityTypeSurfingSports
:
return
@"SurfingSports"
;
case
HKWorkoutActivityTypeSwimming
:
return
@"Swimming"
;
case
HKWorkoutActivityTypeTableTennis
:
return
@"TableTennis"
;
case
HKWorkoutActivityTypeTennis
:
return
@"Tennis"
;
case
HKWorkoutActivityTypeTrackAndField
:
return
@"TrackAndField"
;
case
HKWorkoutActivityTypeTraditionalStrengthTraining
:
return
@"TraditionalStrengthTraining"
;
case
HKWorkoutActivityTypeVolleyball
:
return
@"Volleyball"
;
case
HKWorkoutActivityTypeWalking
:
return
@"Walking"
;
case
HKWorkoutActivityTypeWaterFitness
:
return
@"WaterFitness"
;
case
HKWorkoutActivityTypeWaterPolo
:
return
@"WaterPolo"
;
case
HKWorkoutActivityTypeWaterSports
:
return
@"WaterSports"
;
case
HKWorkoutActivityTypeWrestling
:
return
@"Wrestling"
;
case
HKWorkoutActivityTypeYoga
:
return
@"Yoga"
;
case
HKWorkoutActivityTypeOther
:
return
@"Other"
;
default:
{
NSException
*
e
=
[
NSException
exceptionWithName:
@"HKWorkoutActivityType InvalidValue"
reason:
@"HKWorkoutActivityType can only have a value from the HKWorkoutActivityType enum"
userInfo:
nil
];
@throw
e
;
}
}
}
@end
@end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment