Commit 5ce741b6 authored by Greg Wilson's avatar Greg Wilson

updated Fitness methods to use standardized objects. updated demos to reflect changes

parent 07630ce4
......@@ -10,10 +10,10 @@
@interface RCTAppleHealthKit (Methods_Fitness)
- (void)fitness_getStepCountForToday:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
//- (void)fitness_getStepCountForToday:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
- (void)fitness_getStepCountOnDay:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
- (void)fitness_getDailyStepCounts:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
//- (void)fitness_getDailyStepCounts:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
- (void)fitness_getDailyStepSamples:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
- (void)fitness_saveSteps:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback;
......
......@@ -12,23 +12,23 @@
@implementation RCTAppleHealthKit (Methods_Fitness)
- (void)fitness_getStepCountForToday:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback
{
HKQuantityType *stepCountType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
HKUnit *stepsUnit = [HKUnit countUnit];
[self fetchSumOfSamplesTodayForType:stepCountType
unit:stepsUnit
completion:^(double totalSteps, NSError *error) {
if (!totalSteps) {
NSLog(@"Either an error occured fetching the user's step count information or none has been stored yet. In your app, try to handle this gracefully.");
callback(@[RCTMakeError(@"Either an error occured fetching the user's step count information or none has been stored yet. In your app, try to handle this gracefully.", nil, nil)]);
return;
}
callback(@[[NSNull null], @(totalSteps)]);
}];
}
//- (void)fitness_getStepCountForToday:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback
//{
// HKQuantityType *stepCountType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
// HKUnit *stepsUnit = [HKUnit countUnit];
//
// [self fetchSumOfSamplesTodayForType:stepCountType
// unit:stepsUnit
// completion:^(double totalSteps, NSError *error) {
// if (!totalSteps) {
// NSLog(@"Either an error occured fetching the user's step count information or none has been stored yet. In your app, try to handle this gracefully.");
// callback(@[RCTMakeError(@"Either an error occured fetching the user's step count information or none has been stored yet. In your app, try to handle this gracefully.", nil, nil)]);
// return;
// }
//
// callback(@[[NSNull null], @(totalSteps)]);
// }];
//}
- (void)fitness_getStepCountOnDay:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback
......@@ -46,45 +46,52 @@
[self fetchSumOfSamplesOnDayForType:stepCountType
unit:stepsUnit
day:date
completion:^(double totalSteps, NSError *error) {
if (!totalSteps) {
completion:^(double value, NSDate *startDate, NSDate *endDate, NSError *error) {
if (!value) {
NSLog(@"could not fetch step count for day: %@", error);
callback(@[RCTMakeError(@"could not fetch step count for day", error, nil)]);
return;
}
callback(@[[NSNull null], @(totalSteps)]);
}];
}
NSDictionary *response = @{
@"value" : @(value),
@"startDate" : [RCTAppleHealthKit buildISO8601StringFromDate:startDate],
@"endDate" : [RCTAppleHealthKit buildISO8601StringFromDate:endDate],
};
callback(@[[NSNull null], response]);
}];
}
- (void)fitness_getDailyStepCounts:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback
{
NSDate *startDate = [RCTAppleHealthKit startDateFromOptions:input];
NSDate *endDate = [RCTAppleHealthKit endDateFromOptionsDefaultNow:input];
if(startDate == nil) {
callback(@[RCTMakeError(@"could not parse required startDate from options.startDate", nil, nil)]);
return;
}
HKQuantityType *stepCountType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
HKUnit *stepsUnit = [HKUnit countUnit];
[self fetchCumulativeSumStatisticsCollection:stepCountType
unit:stepsUnit
startDate:startDate
endDate:endDate
completion:^(NSArray *arr, NSError *err){
if (err != nil) {
NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err);
callback(@[RCTMakeError(@"error with fetchCumulativeSumStatisticsCollection", err, nil)]);
return;
}
callback(@[[NSNull null], arr]);
}];
}
//
//- (void)fitness_getDailyStepCounts:(NSDictionary *)input callback:(RCTResponseSenderBlock)callback
//{
// NSDate *startDate = [RCTAppleHealthKit startDateFromOptions:input];
// NSDate *endDate = [RCTAppleHealthKit endDateFromOptionsDefaultNow:input];
//
// if(startDate == nil) {
// callback(@[RCTMakeError(@"could not parse required startDate from options.startDate", nil, nil)]);
// return;
// }
//
// HKQuantityType *stepCountType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
// HKUnit *stepsUnit = [HKUnit countUnit];
//
// [self fetchCumulativeSumStatisticsCollection:stepCountType
// unit:stepsUnit
// startDate:startDate
// endDate:endDate
// completion:^(NSArray *arr, NSError *err){
// if (err != nil) {
// NSLog(@"error with fetchCumulativeSumStatisticsCollection: %@", err);
// callback(@[RCTMakeError(@"error with fetchCumulativeSumStatisticsCollection", err, nil)]);
// return;
// }
// callback(@[[NSNull null], arr]);
// }];
//}
......@@ -157,13 +164,21 @@
HKQuantityType *quantityType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceWalkingRunning];
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double distance, NSError *error) {
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double distance, NSDate *startDate, NSDate *endDate, NSError *error) {
if (!distance) {
NSLog(@"ERROR getting DistanceWalkingRunning: %@", error);
callback(@[RCTMakeError(@"ERROR getting DistanceWalkingRunning", error, nil)]);
return;
}
callback(@[[NSNull null], @(distance)]);
NSDictionary *response = @{
@"value" : @(distance),
@"startDate" : [RCTAppleHealthKit buildISO8601StringFromDate:startDate],
@"endDate" : [RCTAppleHealthKit buildISO8601StringFromDate:endDate],
};
callback(@[[NSNull null], response]);
}];
}
......@@ -175,13 +190,20 @@
HKQuantityType *quantityType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceCycling];
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double distance, NSError *error) {
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double distance, NSDate *startDate, NSDate *endDate, NSError *error) {
if (!distance) {
NSLog(@"ERROR getting DistanceCycling: %@", error);
callback(@[RCTMakeError(@"ERROR getting DistanceCycling", error, nil)]);
return;
}
callback(@[[NSNull null], @(distance)]);
NSDictionary *response = @{
@"value" : @(distance),
@"startDate" : [RCTAppleHealthKit buildISO8601StringFromDate:startDate],
@"endDate" : [RCTAppleHealthKit buildISO8601StringFromDate:endDate],
};
callback(@[[NSNull null], response]);
}];
}
......@@ -193,13 +215,20 @@
HKQuantityType *quantityType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierFlightsClimbed];
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double count, NSError *error) {
[self fetchSumOfSamplesOnDayForType:quantityType unit:unit day:date completion:^(double count, NSDate *startDate, NSDate *endDate, NSError *error) {
if (!count) {
NSLog(@"ERROR getting FlightsClimbed: %@", error);
callback(@[RCTMakeError(@"ERROR getting FlightsClimbed", error, nil), @(count)]);
return;
}
callback(@[[NSNull null], @(count)]);
NSDictionary *response = @{
@"value" : @(count),
@"startDate" : [RCTAppleHealthKit buildISO8601StringFromDate:startDate],
@"endDate" : [RCTAppleHealthKit buildISO8601StringFromDate:endDate],
};
callback(@[[NSNull null], response]);
}];
}
......
......@@ -12,7 +12,7 @@
- (void)fetchMostRecentQuantitySampleOfType:(HKQuantityType *)quantityType predicate:(NSPredicate *)predicate completion:(void (^)(HKQuantity *mostRecentQuantity, NSDate *startDate, NSDate *endDate, NSError *error))completion;
- (void)fetchSumOfSamplesTodayForType:(HKQuantityType *)quantityType unit:(HKUnit *)unit completion:(void (^)(double, NSError *))completionHandler;
- (void)fetchSumOfSamplesOnDayForType:(HKQuantityType *)quantityType unit:(HKUnit *)unit day:(NSDate *)day completion:(void (^)(double, NSError *))completionHandler;
- (void)fetchSumOfSamplesOnDayForType:(HKQuantityType *)quantityType unit:(HKUnit *)unit day:(NSDate *)day completion:(void (^)(double, NSDate *, NSDate *, NSError *))completionHandler;
- (void)fetchCumulativeSumStatisticsCollection:(HKQuantityType *)quantityType
unit:(HKUnit *)unit
......
......@@ -138,10 +138,16 @@
- (void)fetchSumOfSamplesOnDayForType:(HKQuantityType *)quantityType
unit:(HKUnit *)unit
day:(NSDate *)day
completion:(void (^)(double, NSError *))completionHandler {
completion:(void (^)(double, NSDate *, NSDate *, NSError *))completionHandler {
NSPredicate *predicate = [RCTAppleHealthKit predicateForSamplesOnDay:day];
HKStatisticsQuery *query = [[HKStatisticsQuery alloc] initWithQuantityType:quantityType
......@@ -150,9 +156,11 @@
completionHandler:^(HKStatisticsQuery *query, HKStatistics *result, NSError *error) {
HKQuantity *sum = [result sumQuantity];
NSDate *startDate = result.startDate;
NSDate *endDate = result.endDate;
if (completionHandler) {
double value = [sum doubleValueForUnit:unit];
completionHandler(value, error);
completionHandler(value,startDate, endDate, error);
}
}];
......@@ -162,6 +170,12 @@
- (void)fetchCumulativeSumStatisticsCollection:(HKQuantityType *)quantityType
unit:(HKUnit *)unit
startDate:(NSDate *)startDate
......
......@@ -7,9 +7,9 @@
//
#import "RCTAppleHealthKit.h"
#import "RCTAppleHealthKit+Queries.h"
//#import "RCTAppleHealthKit+Queries.h"
#import "RCTAppleHealthKit+TypesAndPermissions.h"
#import "RCTAppleHealthKit+Utils.h"
//#import "RCTAppleHealthKit+Utils.h"
#import "RCTAppleHealthKit+Methods_Body.h"
#import "RCTAppleHealthKit+Methods_Fitness.h"
......
......@@ -22,7 +22,7 @@
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
378DCB661D31876000E83D06 /* libRCTAppleHealthKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 378DCB651D31875D00E83D06 /* libRCTAppleHealthKit.a */; };
378DCB6D1D318E0C00E83D06 /* libRCTAppleHealthKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 378DCB6C1D318E0700E83D06 /* libRCTAppleHealthKit.a */; };
37E9B8741D21B52F0090B19B /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37E9B8731D21B52F0090B19B /* HealthKit.framework */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
/* End PBXBuildFile section */
......@@ -91,9 +91,9 @@
remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
remoteInfo = React;
};
378DCB641D31875D00E83D06 /* PBXContainerItemProxy */ = {
378DCB6B1D318E0700E83D06 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 378DCB601D31875D00E83D06 /* RCTAppleHealthKit.xcodeproj */;
containerPortal = 378DCB671D318E0700E83D06 /* RCTAppleHealthKit.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3774C88D1D2092F20000B3F3;
remoteInfo = RCTAppleHealthKit;
......@@ -134,7 +134,7 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = BodyMeasurements/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = BodyMeasurements/main.m; sourceTree = "<group>"; };
146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = "<group>"; };
378DCB601D31875D00E83D06 /* RCTAppleHealthKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAppleHealthKit.xcodeproj; path = "../node_modules/react-native-apple-healthkit/RCTAppleHealthKit.xcodeproj"; sourceTree = "<group>"; };
378DCB671D318E0700E83D06 /* RCTAppleHealthKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAppleHealthKit.xcodeproj; path = "../node_modules/react-native-apple-healthkit/RCTAppleHealthKit.xcodeproj"; sourceTree = "<group>"; };
37E9B8731D21B52F0090B19B /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; };
37E9B8751D21B52F0090B19B /* BodyMeasurements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = BodyMeasurements.entitlements; path = BodyMeasurements/BodyMeasurements.entitlements; sourceTree = "<group>"; };
78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = "<group>"; };
......@@ -154,7 +154,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
378DCB661D31876000E83D06 /* libRCTAppleHealthKit.a in Frameworks */,
378DCB6D1D318E0C00E83D06 /* libRCTAppleHealthKit.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,
37E9B8741D21B52F0090B19B /* HealthKit.framework in Frameworks */,
......@@ -268,10 +268,10 @@
name = Products;
sourceTree = "<group>";
};
378DCB611D31875D00E83D06 /* Products */ = {
378DCB681D318E0700E83D06 /* Products */ = {
isa = PBXGroup;
children = (
378DCB651D31875D00E83D06 /* libRCTAppleHealthKit.a */,
378DCB6C1D318E0700E83D06 /* libRCTAppleHealthKit.a */,
);
name = Products;
sourceTree = "<group>";
......@@ -287,7 +287,7 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
378DCB601D31875D00E83D06 /* RCTAppleHealthKit.xcodeproj */,
378DCB671D318E0700E83D06 /* RCTAppleHealthKit.xcodeproj */,
146833FF1AC3E56700842450 /* React.xcodeproj */,
00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,
......@@ -411,8 +411,8 @@
ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
},
{
ProductGroup = 378DCB611D31875D00E83D06 /* Products */;
ProjectRef = 378DCB601D31875D00E83D06 /* RCTAppleHealthKit.xcodeproj */;
ProductGroup = 378DCB681D318E0700E83D06 /* Products */;
ProjectRef = 378DCB671D318E0700E83D06 /* RCTAppleHealthKit.xcodeproj */;
},
{
ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
......@@ -516,11 +516,11 @@
remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
378DCB651D31875D00E83D06 /* libRCTAppleHealthKit.a */ = {
378DCB6C1D318E0700E83D06 /* libRCTAppleHealthKit.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRCTAppleHealthKit.a;
remoteRef = 378DCB641D31875D00E83D06 /* PBXContainerItemProxy */;
remoteRef = 378DCB6B1D318E0700E83D06 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {
......
......@@ -71,11 +71,11 @@ class Home extends Component {
* @private
*/
_fetchStepsToday() {
AppleHealthKit.getStepCount(null, (err, steps) => {
AppleHealthKit.getStepCount(null, (err, res) => {
if(this._handleHKError(err, 'getStepCount')){
return;
}
this.setState({stepsToday: steps});
this.setState({stepsToday: res.value});
});
}
......
......@@ -23,7 +23,7 @@
140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
378616B61D257B040027C300 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 378616B51D257B040027C300 /* HealthKit.framework */; };
378DCB541D31810500E83D06 /* libRCTAppleHealthKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 378DCB531D31810200E83D06 /* libRCTAppleHealthKit.a */; };
378DCB741D3190C800E83D06 /* libRCTAppleHealthKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 378DCB731D3190C100E83D06 /* libRCTAppleHealthKit.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
/* End PBXBuildFile section */
......@@ -91,9 +91,9 @@
remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
remoteInfo = React;
};
378DCB521D31810200E83D06 /* PBXContainerItemProxy */ = {
378DCB721D3190C100E83D06 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 378DCB4E1D31810200E83D06 /* RCTAppleHealthKit.xcodeproj */;
containerPortal = 378DCB6E1D3190C100E83D06 /* RCTAppleHealthKit.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3774C88D1D2092F20000B3F3;
remoteInfo = RCTAppleHealthKit;
......@@ -136,7 +136,7 @@
146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = "<group>"; };
378616B51D257B040027C300 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; };
378616B71D257B040027C300 /* StepsDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = StepsDemo.entitlements; path = StepsDemo/StepsDemo.entitlements; sourceTree = "<group>"; };
378DCB4E1D31810200E83D06 /* RCTAppleHealthKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAppleHealthKit.xcodeproj; path = "../node_modules/react-native-apple-healthkit/RCTAppleHealthKit.xcodeproj"; sourceTree = "<group>"; };
378DCB6E1D3190C100E83D06 /* RCTAppleHealthKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAppleHealthKit.xcodeproj; path = "../node_modules/react-native-apple-healthkit/RCTAppleHealthKit.xcodeproj"; sourceTree = "<group>"; };
78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = "<group>"; };
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = "<group>"; };
/* End PBXFileReference section */
......@@ -154,7 +154,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
378DCB541D31810500E83D06 /* libRCTAppleHealthKit.a in Frameworks */,
378DCB741D3190C800E83D06 /* libRCTAppleHealthKit.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,
378616B61D257B040027C300 /* HealthKit.framework in Frameworks */,
......@@ -268,10 +268,10 @@
name = Products;
sourceTree = "<group>";
};
378DCB4F1D31810200E83D06 /* Products */ = {
378DCB6F1D3190C100E83D06 /* Products */ = {
isa = PBXGroup;
children = (
378DCB531D31810200E83D06 /* libRCTAppleHealthKit.a */,
378DCB731D3190C100E83D06 /* libRCTAppleHealthKit.a */,
);
name = Products;
sourceTree = "<group>";
......@@ -287,7 +287,7 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
378DCB4E1D31810200E83D06 /* RCTAppleHealthKit.xcodeproj */,
378DCB6E1D3190C100E83D06 /* RCTAppleHealthKit.xcodeproj */,
146833FF1AC3E56700842450 /* React.xcodeproj */,
00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,
......@@ -411,8 +411,8 @@
ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
},
{
ProductGroup = 378DCB4F1D31810200E83D06 /* Products */;
ProjectRef = 378DCB4E1D31810200E83D06 /* RCTAppleHealthKit.xcodeproj */;
ProductGroup = 378DCB6F1D3190C100E83D06 /* Products */;
ProjectRef = 378DCB6E1D3190C100E83D06 /* RCTAppleHealthKit.xcodeproj */;
},
{
ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
......@@ -516,11 +516,11 @@
remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
378DCB531D31810200E83D06 /* libRCTAppleHealthKit.a */ = {
378DCB731D3190C100E83D06 /* libRCTAppleHealthKit.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRCTAppleHealthKit.a;
remoteRef = 378DCB521D31810200E83D06 /* PBXContainerItemProxy */;
remoteRef = 378DCB721D3190C100E83D06 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {
......
{
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "steps-4.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "steps-5.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "steps-6.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "steps-2.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "steps-3.png",
"scale" : "3x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "steps-7.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "steps-8.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "steps.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "steps-1.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@3x.png",
"scale" : "3x"
}
],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment