スライドをクリックでスタート、矢印キーでスライド移動、Escで一覧モードへ戻る
iOS8 β4時点でのHealthKitについて扱う
HKHealthStore
クラスが管理するHKSample
@interface HKSample : HKObject{}
HKQuantitySample
や HKCategorySample
等があるHKQuantitySample
を例にするNSDate *today = [NSDate date];
double meterValue = 10;
// 単位 = meter
HKUnit *meterUnit = [HKUnit meterUnit];
// 量 = 10
HKQuantity *height = [HKQuantity quantityWithUnit:meterUnit doubleValue:meterValue];
// データ = 種類 + 量 + 単位
HKQuantitySample *heightSample = [HKQuantitySample quantitySampleWithType:heightType
quantity:height
startDate:today endDate:today];
HKQuantitySample
を書き込みするHKHealthStore
クラスが管理する[self.healthStore saveObject:sample withCompletion:^(BOOL success, NSError *error) {
if (!error) {
// 成功
} else {
// 失敗
}
}];
HKQuery
クラスで検索条件を作成HKQuery
は抽象クラスHKSampleQuery
を使って基本的な検索HKQuery
に ソートと取得数の制限をつけたサブクラスHKSample
の配列HKStatistics
HKStatisticsOptions
(統計取得オプション)HKStatistics
HKStatisticsCollection
HKStatistics
の配列を持つ- (void)enumerateStatisticsFromDate:(NSDate *)startDate
toDate:(NSDate *)endDate
withBlock:(void(^)(HKStatistics *result, BOOL *stop))block;
// 1日間隔を表現するNSDateComponents
NSDateComponents *dayComponents = [[NSDateComponents alloc] init];
dayComponents.day = 1;
HKUnit
等を使ったローカライズができるsource
を見るsource
でフィルタするメソッドが用意されているHKWorkout
HKBackgroundDelivery