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
581a9828
Commit
581a9828
authored
Apr 29, 2019
by
Evstropov Evgenii
Committed by
GitHub
Apr 29, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #69 from helloshim-forks/authorization-status
Authorization status
parents
8c189e9c
ca1c0bb0
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
83 additions
and
58 deletions
+83
-58
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Activity.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Activity.m
+2
-4
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Body.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Body.m
+9
-18
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Characteristic.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Characteristic.m
+2
-4
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m
+10
-21
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Mindfulness.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Mindfulness.m
+1
-2
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Results.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Results.m
+1
-2
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Sleep.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Sleep.m
+1
-2
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Vitals.m
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Vitals.m
+1
-2
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.h
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.h
+2
-0
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.m
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.m
+14
-0
RCTAppleHealthKit/RCTAppleHealthKit.m
RCTAppleHealthKit/RCTAppleHealthKit.m
+23
-3
README.md
README.md
+1
-0
docs/authorizationStatusForType().md
docs/authorizationStatusForType().md
+16
-0
No files found.
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Activity.m
View file @
581a9828
...
@@ -35,8 +35,7 @@
...
@@ -35,8 +35,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting active energy burned samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting active energy burned samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
@@ -65,8 +64,7 @@
...
@@ -65,8 +64,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting basal energy burned samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting basal energy burned samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Body.m
View file @
581a9828
...
@@ -24,8 +24,7 @@
...
@@ -24,8 +24,7 @@
predicate:
nil
predicate:
nil
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
mostRecentQuantity
)
{
if
(
!
mostRecentQuantity
)
{
NSLog
(
@"error getting latest weight: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting latest weight"
,
error
,
nil
)]);
}
}
else
{
else
{
// Determine the weight in the required unit.
// Determine the weight in the required unit.
...
@@ -67,8 +66,7 @@
...
@@ -67,8 +66,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting weight samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting weight samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
@@ -87,8 +85,7 @@
...
@@ -87,8 +85,7 @@
[
self
.
healthStore
saveObject
:
weightSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
saveObject
:
weightSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSLog
(
@"error saving the weight sample: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error saving the weight sample"
,
error
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
@
(
weight
)]);
callback
(@[[
NSNull
null
],
@
(
weight
)]);
...
@@ -104,8 +101,7 @@
...
@@ -104,8 +101,7 @@
predicate:
nil
predicate:
nil
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
mostRecentQuantity
)
{
if
(
!
mostRecentQuantity
)
{
NSLog
(
@"error getting latest BMI: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting latest BMI"
,
error
,
nil
)]);
}
}
else
{
else
{
// Determine the bmi in the required unit.
// Determine the bmi in the required unit.
...
@@ -136,8 +132,7 @@
...
@@ -136,8 +132,7 @@
[
self
.
healthStore
saveObject
:
bmiSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
saveObject
:
bmiSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSLog
(
@"error saving BMI sample: %@."
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error saving BMI sample"
,
error
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
@
(
bmi
)]);
callback
(@[[
NSNull
null
],
@
(
bmi
)]);
...
@@ -198,8 +193,7 @@
...
@@ -198,8 +193,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting height samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting height samples"
,
error
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
@@ -218,8 +212,7 @@
...
@@ -218,8 +212,7 @@
[
self
.
healthStore
saveObject
:
heightSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
saveObject
:
heightSample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSLog
(
@"error saving height sample: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error saving height sample"
,
error
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
@
(
height
)]);
callback
(@[[
NSNull
null
],
@
(
height
)]);
...
@@ -235,8 +228,7 @@
...
@@ -235,8 +228,7 @@
predicate:
nil
predicate:
nil
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
mostRecentQuantity
)
{
if
(
!
mostRecentQuantity
)
{
NSLog
(
@"error getting latest body fat percentage: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting latest body fat percentage"
,
error
,
nil
)]);
}
}
else
{
else
{
// Determine the weight in the required unit.
// Determine the weight in the required unit.
...
@@ -265,8 +257,7 @@
...
@@ -265,8 +257,7 @@
predicate:
nil
predicate:
nil
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
completion:
^
(
HKQuantity
*
mostRecentQuantity
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
mostRecentQuantity
)
{
if
(
!
mostRecentQuantity
)
{
NSLog
(
@"error getting latest lean body mass: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting latest lean body mass"
,
error
,
nil
)]);
}
}
else
{
else
{
HKUnit
*
weightUnit
=
[
HKUnit
poundUnit
];
HKUnit
*
weightUnit
=
[
HKUnit
poundUnit
];
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Characteristic.m
View file @
581a9828
...
@@ -34,8 +34,7 @@
...
@@ -34,8 +34,7 @@
}
}
if
(
value
==
nil
){
if
(
value
==
nil
){
NSLog
(
@"error getting biological sex: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting biological sex"
,
error
,
nil
)]);
return
;
return
;
}
}
...
@@ -52,8 +51,7 @@
...
@@ -52,8 +51,7 @@
NSDate
*
dob
=
[
self
.
healthStore
dateOfBirthWithError
:
&
error
];
NSDate
*
dob
=
[
self
.
healthStore
dateOfBirthWithError
:
&
error
];
if
(
error
!=
nil
){
if
(
error
!=
nil
){
NSLog
(
@"error getting date of birth: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting date of birth"
,
error
,
nil
)]);
return
;
return
;
}
}
if
(
dob
==
nil
)
{
if
(
dob
==
nil
)
{
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Fitness.m
View file @
581a9828
...
@@ -34,8 +34,7 @@
...
@@ -34,8 +34,7 @@
day:
date
day:
date
completion:
^
(
double
value
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
completion:
^
(
double
value
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
value
)
{
if
(
!
value
)
{
NSLog
(
@"could not fetch step count for day: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"could not fetch step count for day"
,
error
,
nil
)]);
return
;
return
;
}
}
...
@@ -118,8 +117,7 @@
...
@@ -118,8 +117,7 @@
limit:
limit
limit:
limit
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
if
(
err
!=
nil
)
{
if
(
err
!=
nil
)
{
NSLog
(
@"error with fetchCumulativeSumStatisticsCollection: %@"
,
err
);
callback
(@[
RCTJSErrorFromNSError
(
err
)]);
callback
(@[
RCTMakeError
(
@"error with fetchCumulativeSumStatisticsCollection"
,
err
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
arr
]);
callback
(@[[
NSNull
null
],
arr
]);
...
@@ -145,8 +143,7 @@
...
@@ -145,8 +143,7 @@
[
self
.
healthStore
saveObject
:
sample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
saveObject
:
sample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSLog
(
@"An error occured saving the step count sample %@. The error was: %@."
,
sample
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"An error occured saving the step count sample"
,
error
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
@
(
value
)]);
callback
(@[[
NSNull
null
],
@
(
value
)]);
...
@@ -168,9 +165,7 @@
...
@@ -168,9 +165,7 @@
NSError
*
error
)
{
NSError
*
error
)
{
if
(
error
)
{
if
(
error
)
{
// Perform Proper Error Handling Here...
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
NSLog
(
@"*** An error occured while setting up the stepCount observer. %@ ***"
,
error
.
localizedDescription
);
callback
(@[
RCTMakeError
(
@"An error occured while setting up the stepCount observer"
,
error
,
nil
)]);
return
;
return
;
}
}
...
@@ -195,8 +190,7 @@
...
@@ -195,8 +190,7 @@
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
distance
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
distance
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
distance
)
{
if
(
!
distance
)
{
NSLog
(
@"ERROR getting DistanceWalkingRunning: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"ERROR getting DistanceWalkingRunning"
,
error
,
nil
)]);
return
;
return
;
}
}
...
@@ -233,8 +227,7 @@
...
@@ -233,8 +227,7 @@
limit:
limit
limit:
limit
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
if
(
err
!=
nil
)
{
if
(
err
!=
nil
)
{
NSLog
(
@"error with fetchCumulativeSumStatisticsCollection: %@"
,
err
);
callback
(@[
RCTJSErrorFromNSError
(
err
)]);
callback
(@[
RCTMakeError
(
@"error with fetchCumulativeSumStatisticsCollection"
,
err
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
arr
]);
callback
(@[[
NSNull
null
],
arr
]);
...
@@ -250,8 +243,7 @@
...
@@ -250,8 +243,7 @@
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
distance
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
distance
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
distance
)
{
if
(
!
distance
)
{
NSLog
(
@"ERROR getting DistanceCycling: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"ERROR getting DistanceCycling"
,
error
,
nil
)]);
return
;
return
;
}
}
...
@@ -287,8 +279,7 @@
...
@@ -287,8 +279,7 @@
limit:
limit
limit:
limit
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
if
(
err
!=
nil
)
{
if
(
err
!=
nil
)
{
NSLog
(
@"error with fetchCumulativeSumStatisticsCollection: %@"
,
err
);
callback
(@[
RCTJSErrorFromNSError
(
err
)]);
callback
(@[
RCTMakeError
(
@"error with fetchCumulativeSumStatisticsCollection"
,
err
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
arr
]);
callback
(@[[
NSNull
null
],
arr
]);
...
@@ -304,8 +295,7 @@
...
@@ -304,8 +295,7 @@
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
count
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
[
self
fetchSumOfSamplesOnDayForType
:
quantityType
unit
:
unit
day
:
date
completion
:^
(
double
count
,
NSDate
*
startDate
,
NSDate
*
endDate
,
NSError
*
error
)
{
if
(
!
count
)
{
if
(
!
count
)
{
NSLog
(
@"ERROR getting FlightsClimbed: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"ERROR getting FlightsClimbed"
,
error
,
nil
),
@
(
count
)]);
return
;
return
;
}
}
...
@@ -341,8 +331,7 @@
...
@@ -341,8 +331,7 @@
limit:
limit
limit:
limit
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
completion:
^
(
NSArray
*
arr
,
NSError
*
err
){
if
(
err
!=
nil
)
{
if
(
err
!=
nil
)
{
NSLog
(
@"error with fetchCumulativeSumStatisticsCollection: %@"
,
err
);
callback
(@[
RCTJSErrorFromNSError
(
err
)]);
callback
(@[
RCTMakeError
(
@"error with fetchCumulativeSumStatisticsCollection"
,
err
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
arr
]);
callback
(@[[
NSNull
null
],
arr
]);
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Mindfulness.m
View file @
581a9828
...
@@ -29,8 +29,7 @@
...
@@ -29,8 +29,7 @@
[
self
.
healthStore
saveObject
:
sample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
saveObject
:
sample
withCompletion
:
^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSLog
(
@"An error occured saving the mindful session sample %@. The error was: %@."
,
sample
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"An error occured saving the mindful session sample"
,
error
,
nil
)]);
return
;
return
;
}
}
callback
(@[[
NSNull
null
],
@
(
value
)]);
callback
(@[[
NSNull
null
],
@
(
value
)]);
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Results.m
View file @
581a9828
...
@@ -32,8 +32,7 @@
...
@@ -32,8 +32,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting blood glucose samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting blood glucose samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Sleep.m
View file @
581a9828
...
@@ -36,8 +36,7 @@
...
@@ -36,8 +36,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting sleep samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting sleep samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
...
RCTAppleHealthKit/RCTAppleHealthKit+Methods_Vitals.m
View file @
581a9828
...
@@ -33,8 +33,7 @@
...
@@ -33,8 +33,7 @@
callback
(@[[
NSNull
null
],
results
]);
callback
(@[[
NSNull
null
],
results
]);
return
;
return
;
}
else
{
}
else
{
NSLog
(
@"error getting heart rate samples: %@"
,
error
);
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
callback
(@[
RCTMakeError
(
@"error getting heart rate samples"
,
nil
,
nil
)]);
return
;
return
;
}
}
}];
}];
...
...
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.h
View file @
581a9828
...
@@ -15,5 +15,7 @@
...
@@ -15,5 +15,7 @@
-
(
NSDictionary
*
)
writePermsDict
;
-
(
NSDictionary
*
)
writePermsDict
;
-
(
NSSet
*
)
getReadPermsFromOptions
:(
NSArray
*
)
options
;
-
(
NSSet
*
)
getReadPermsFromOptions
:(
NSArray
*
)
options
;
-
(
NSSet
*
)
getWritePermsFromOptions
:(
NSArray
*
)
options
;
-
(
NSSet
*
)
getWritePermsFromOptions
:(
NSArray
*
)
options
;
-
(
HKObjectType
*
)
getWritePermFromString
:(
NSString
*
)
string
;
-
(
NSString
*
)
getAuthorizationStatusString
:(
HKAuthorizationStatus
)
status
;
@end
@end
RCTAppleHealthKit/RCTAppleHealthKit+TypesAndPermissions.m
View file @
581a9828
...
@@ -152,4 +152,18 @@
...
@@ -152,4 +152,18 @@
return
writePermSet
;
return
writePermSet
;
}
}
-
(
HKObjectType
*
)
getWritePermFromString
:(
NSString
*
)
writePerm
{
return
[[
self
writePermsDict
]
objectForKey
:
writePerm
];
}
-
(
NSString
*
)
getAuthorizationStatusString
:(
HKAuthorizationStatus
)
status
{
switch
(
status
)
{
case
HKAuthorizationStatusNotDetermined
:
return
@"NotDetermined"
;
case
HKAuthorizationStatusSharingDenied
:
return
@"SharingDenied"
;
case
HKAuthorizationStatusSharingAuthorized
:
return
@"SharingAuthorized"
;
}
}
@end
@end
RCTAppleHealthKit/RCTAppleHealthKit.m
View file @
581a9828
...
@@ -266,9 +266,7 @@ RCT_EXPORT_METHOD(saveMindfulSession:(NSDictionary *)input callback:(RCTResponse
...
@@ -266,9 +266,7 @@ RCT_EXPORT_METHOD(saveMindfulSession:(NSDictionary *)input callback:(RCTResponse
[
self
.
healthStore
requestAuthorizationToShareTypes
:
writeDataTypes
readTypes
:
readDataTypes
completion
:^
(
BOOL
success
,
NSError
*
error
)
{
[
self
.
healthStore
requestAuthorizationToShareTypes
:
writeDataTypes
readTypes
:
readDataTypes
completion
:^
(
BOOL
success
,
NSError
*
error
)
{
if
(
!
success
)
{
if
(
!
success
)
{
NSString
*
errMsg
=
[
NSString
stringWithFormat
:
@"Error with HealthKit authorization: %@"
,
error
];
callback
(@[
RCTJSErrorFromNSError
(
error
)]);
NSLog
(
errMsg
);
callback
(@[
RCTMakeError
(
errMsg
,
nil
,
nil
)]);
return
;
return
;
}
else
{
}
else
{
dispatch_async
(
dispatch_get_global_queue
(
DISPATCH_QUEUE_PRIORITY_DEFAULT
,
0
),
^
{
dispatch_async
(
dispatch_get_global_queue
(
DISPATCH_QUEUE_PRIORITY_DEFAULT
,
0
),
^
{
...
@@ -281,6 +279,28 @@ RCT_EXPORT_METHOD(saveMindfulSession:(NSDictionary *)input callback:(RCTResponse
...
@@ -281,6 +279,28 @@ RCT_EXPORT_METHOD(saveMindfulSession:(NSDictionary *)input callback:(RCTResponse
}
}
}
}
RCT_EXPORT_METHOD
(
authorizationStatusForType
:
(
NSString
*
)
type
resolver
:
(
RCTPromiseResolveBlock
)
resolve
rejecter
:
(
RCTPromiseRejectBlock
)
reject
{
if
(
self
.
healthStore
==
nil
)
{
self
.
healthStore
=
[[
HKHealthStore
alloc
]
init
];
}
if
([
HKHealthStore
isHealthDataAvailable
])
{
HKObjectType
*
objectType
=
[
self
getWritePermFromString
:
type
];
if
(
objectType
==
nil
)
{
reject
(
@"unknown write permission"
,
nil
,
nil
);
return
;
}
NSString
*
status
=
[
self
getAuthorizationStatusString
:[
self
.
healthStore
authorizationStatusForType
:
objectType
]];
resolve
(
status
);
}
else
{
reject
(
@"HealthKit data is not available"
,
nil
,
nil
);
}
})
-
(
void
)
getModuleInfo
:(
NSDictionary
*
)
input
callback
:(
RCTResponseSenderBlock
)
callback
-
(
void
)
getModuleInfo
:(
NSDictionary
*
)
input
callback
:(
RCTResponseSenderBlock
)
callback
{
{
NSDictionary
*
info
=
@{
NSDictionary
*
info
=
@{
...
...
README.md
View file @
581a9828
...
@@ -106,6 +106,7 @@ AppleHealthKit.initHealthKit(options: Object, (err: string, results: Object) =>
...
@@ -106,6 +106,7 @@ AppleHealthKit.initHealthKit(options: Object, (err: string, results: Object) =>
*
Base Methods
*
Base Methods
*
[
isAvailable
](
/docs/isAvailable(
)
.md)
*
[
isAvailable
](
/docs/isAvailable(
)
.md)
*
[
initHealthKit
](
/docs/initHealthKit(
)
.md)
*
[
initHealthKit
](
/docs/initHealthKit(
)
.md)
*
[
authorizationStatusForType
](
/docs/authorizationStatusForType(
)
.md)
*
Realtime Methods
*
Realtime Methods
*
[
initStepCountObserver
](
/docs/initStepCountObserver(
)
.md)
*
[
initStepCountObserver
](
/docs/initStepCountObserver(
)
.md)
*
[
setObserver
](
/docs/setObserver(
)
.md)
*
[
setObserver
](
/docs/setObserver(
)
.md)
...
...
docs/authorizationStatusForType().md
0 → 100644
View file @
581a9828
Check the authorization status for sharing (writing) the specified data type.
Status will be one of
`"NotDetermined"`
,
`"SharingDenied"`
,
`"SharingAuthorized"`
.
```
javascript
try
{
const
status
=
await
AppleHealthKit
.
authorizationStatusForType
(
"
StepCount
"
)
if
(
status
)
{
console
.
log
(
"
status is
"
,
status
)
}
}
catch
(
error
)
{
console
.
warn
(
error
)
}
```
There is no way to check authorization status for read permission,
[
see this
](
https://developer.apple.com/documentation/healthkit/hkhealthstore/1614154-authorizationstatusfortype?language=objc
)
.
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