Pull to refresh

Comments 7

Спасибо за урок. Расскажите, можно ли передавать с часов на смартфон информацию от датчиков? С примером, пожалуйста.
Здравствуйте) хочу сказать, что эта тема также обширна и также достойна отдельной темы)
Первое, что необходимо сделать (при наличии аккаунта разработчика) — это подключить HealthKit в Capabilities для Iphone и AppleWatch Extension таргетов.
Второе — сделать запрос авторизации

if ([HKHealthStore isHealthDataAvailable]) {
HKHealthStore *healthStore = [[HKHealthStore alloc] init];
NSSet *shareTypes = [NSSet setWithObjects:
                           [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass], // пример
                           nil];

NSSet *readObjectTypes  = [NSSet setWithObjects:
                           [HKObjectType characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth],  // пример
                           nil];

[healthStore requestAuthorizationToShareTypes:shareObjectTypes
                                    readTypes:readObjectTypes
                                   completion:^(BOOL success, NSError *error) {
                                      
                                       if(success)
                                       {
                                           // здесь ваши действия при успешной авторизации
                                       }
                                       else
                                       {
                                           // в случае ошибки авторизации
                                       }
                                       
                                   }];
}
Далее получаем значения в указанном диапазоне времени:
// установка дат для выборки 
NSDate *startDate = //...
NSDate *endDate = //...

HKSampleType *sampleType = [HKSampleType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];

// создание выборки по указанным параметрам
NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate];

// создание сортировки по указанным параметрам
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:HKSampleSortIdentifierStartDate ascending:YES];

// получение потока значений с необходимыми параметрами
HKSampleQuery *sampleQuery = [[HKSampleQuery alloc] initWithSampleType:sampleType
                                                             predicate:predicate
                                                                 limit:HKObjectQueryNoLimit
                                                       sortDescriptors:@[sortDescriptor]
                                                         resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
                                                            
                                                             if(!error && results)
                                                             {

                                                                 for (int i = 0, i < results, i++)
                                                                 {
                                                                     // NSLog ("%@", rusults [i]);
                                                                 }
                                                             }
                                                             
                                                         }];

// здесь выполнение запроса
[healthStore executeQuery:sampleQuery];


Далее смотрим по обстоятельствам и в удобной форме делаем пересылку данных на IPhone, используя текущую статью)
Я, честно говоря, не нашел примера в статье про передачу данных с часов на смартфон. Что касается данных с акселерометра и прочих часовых датчиков, то доступа к ним нет (пока нет) и передать их на айФон никоим образом нельзя. Буду рад, если кто опровергнет мои исследования.
Complications правильнее перевести как «усложнения» — этот термин в применении к механическим часам означает дополнительные функции помимо показа времени: число месяца, день недели, турбийон и пр.
История развивается по спирали… кто-то ведь ещё помнит JogDial?
Sign up to leave a comment.

Articles