2016-09-09 8 views
0

xmlファイル(CDA)を健康アプリに別のアプリケーションから送信する方法はありますか?私のアプリケーションはソースからxmlファイルを取得していて、新しい健康アプリ(iOS 10)に直接送信したいからです。SWIFT:iOS 10健康アプリへのCDA

答えて

0

HKCDADocumentSampleを作成し、HKHealthStoreで保存してください。

+0

ヘルスキットに保存されている利用可能なすべてのヘルスレコードにアクセスして表示するにはどうすればよいですか? – srbalan

0

まず、承認

(void) checkForAuthorization { 
    if ([HKHealthStore isHealthDataAvailable]) { 
    NSSet *setRead = [NSSet setWithObjects [HKObjectTypedocumentTypeForIdentifier:HKDocumentTypeIdentifierCDA], nil]; 
    NSSet *setWrite = [NSSet setWithObjects:[HKObjectType documentTypeForIdentifier:HKDocumentTypeIdentifierCDA], nil]; 
    [_store requestAuthorizationToShareTypes:setWrite readTypes:nil completion:^(BOOL success, NSError * _Nullable error) { 
    if (error) { 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
      [alert show]; 
    } else if (success) { 
      [self performSelectorOnMainThread:@selector(addDocumentToHealthApp) withObject:nil waitUntilDone:NO]; 
    } 
     NSLog(@" Success = %@",success? @"YES" : @"NO"); 
    } ]; 
    } else { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Health Kit not supported in device." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
    [alert show]; 
    } 

}

第二のチェックこれは健康上のアプリで健康やレコードを追加しますwmthodレコードを追加します。

(void) addRecordToHealthApp 
{ 

NSURL *cdaPath = [[NSBundle mainBundle] URLForResource:@"sample" withExtension:@"xml"]; 

NSString*stringPath = [cdaPath absoluteString]; 
    NSData *dataOfCDAFile = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]]; 

NSDate *now = [NSDate date]; 
int daysToAdd = 7; 
NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*daysToAdd]; 

NSError *err; 
HKCDADocumentSample *doc = [HKCDADocumentSample CDADocumentSampleWithData:dataOfCDAFile startDate:[NSDate date] endDate:newDate1 metadata:nil validationError:&err ]; 

UIAlertView *alert; 
if (err) { 
    alert = [[UIAlertView alloc] initWithTitle:@"Error" message:err.localizedDescription delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
    [alert show]; 
} 





[_store saveObject:doc withCompletion:^(BOOL success, NSError * _Nullable error) { 
    NSLog("Stored %@",[email protected]"YES":@"NO"); 
}]; 

} 
+0

あなたは迅速な言葉でそれをすることができますか? – srbalan

関連する問題