CMPedometer
Оператор импорта
Swift
import CoreMotion
Objective C
@import CoreMotion;
Доступность
Доступный в iOS 8.0 и позже.
Используйте a CMPedometer
возразите для выборки связанных с пешеходом данных. Вы используете объект шагомера получить количества шага, и другая информация о расстоянии переместилась, и число этажей возросло или убывало. Объект шагомера управляет кэшем исторических данных, которые можно запросить, или можно попросить живые обновления, поскольку обрабатываются данные.
Для использования объекта шагомера создайте экземпляр этого класса и вызовите надлежащие методы. Используйте queryPedometerDataFromDate:toDate:withHandler:
метод для получения уже собранных данных. Для получения живых обновлений используйте startPedometerUpdatesFromDate:withHandler:
метод для запуска поставки событий к обработчику Вы обеспечиваете.
-
Возвращает булево значение, указывающее, доступен ли подсчет шага на текущем устройстве.
Объявление
Swift
class func isStepCountingAvailable() -> Bool
Objective C
+ (BOOL)isStepCountingAvailable
Возвращаемое значение
YES
true
если подсчет шага доступен илиNO
false
если это не.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает булево значение, указывающее, доступна ли оценка расстояния на текущем устройстве.
Объявление
Swift
class func isDistanceAvailable() -> Bool
Objective C
+ (BOOL)isDistanceAvailable
Возвращаемое значение
YES
true
если оценка расстояния доступна илиNO
false
если это не.Обсуждение
Оценка расстояния указывает, что возможность использовать информацию о шаге для предоставления приблизительного расстояния переместилась пользователем. Эта возможность не поддерживается на всех устройствах.
Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
-
Возвращает булево значение, указывающее, доступен ли подсчет пола на текущем устройстве.
Объявление
Swift
class func isFloorCountingAvailable() -> Bool
Objective C
+ (BOOL)isFloorCountingAvailable
Возвращаемое значение
YES
true
если подсчет пола доступен илиNO
false
если это не.Обсуждение
Подсчет пола указывает возможность считать число этажей, по которым пользователь идет или вниз использование лестницы. Эта возможность не поддерживается на всех устройствах.
Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
-
Запускает поставку недавних связанных с пешеходом данных к Вашему приложению.
Объявление
Swift
func startPedometerUpdatesFromDate(_
start
: NSDate!, withHandlerhandler
: CMPedometerHandler!)Objective C
- (void)startPedometerUpdatesFromDate:(NSDate *)
start
withHandler:(CMPedometerHandler)handler
Параметры
start
Дата, с которой можно запустить отчетные данные. Можно указать дату в прошлом для получения данных с того времени до сих пор. Этот параметр не должен быть
nil
.handler
Блок для выполнения, когда данные доступны. Этот блок неоднократно вызывают на фоновом потоке, когда поступают новые данные. Этот параметр не должен быть
nil
. Для получения информации об этом блоке посмотритеCMPedometerHandler
.Обсуждение
По вызову этого метода объект шагомера начинает вызывать Ваш блок обработчика регулярно с данными. Данные передали Вашему
handler
блок представляет кумулятивные данные, запускающиеся в указанномstart
дата и заканчивающийся в текущее время. (Можно получить запуск и даты окончания отCMPedometerData
объект передал Вашему обработчику.) Этот метод инициирует процесс поставки события асинхронно и выполняет Ваш блок на последовательной очереди отгрузки, гарантирующей, что только одна копия блока работает в любой момент времени.Когда приложение приостановлено, поставка обновлений останавливается временно. После возврата приоритетному или фоновому выполнению объект шагомера начинает обновления снова.
Для остановки поставки событий вызовите
stopPedometerUpdates
метод.Безопасно запустить поставку событий с помощью этого метода и затем выполнить дополнительные запросы с помощью
queryPedometerDataFromDate:toDate:withHandler:
метод.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
-
Останавливает поставку недавних пешеходных обновлений данных к Вашему приложению.
Объявление
Swift
func stopPedometerUpdates()
Objective C
- (void)stopPedometerUpdates
Обсуждение
Используйте этот метод для остановки поставки непрерывных обновлений, инициировавшихся вызовом к
startPedometerUpdatesFromDate:withHandler:
метод.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
-
queryPedometerDataFromDate (_: toDate:withHandler:) - queryPedometerDataFromDate:toDate:withHandler:
Получает данные между указанным запуском и даты окончания.
Объявление
Swift
func queryPedometerDataFromDate(_
start
: NSDate!, toDateend
: NSDate!, withHandlerhandler
: CMPedometerHandler!)Objective C
- (void)queryPedometerDataFromDate:(NSDate *)
start
toDate:(NSDate *)end
withHandler:(CMPedometerHandler)handler
Параметры
start
Дата начала данных Вы хотите. Этот параметр не должен быть
nil
.end
Дата окончания данных Вы хотите. Этот параметр не должен быть
nil
.handler
Блок для выполнения с получающимися данными. Этот блок вызывают, как только на той же последовательной отгрузке очередь раньше обрабатывала непрерывные обновления. Этот параметр не должен быть
nil
. Для получения информации об этом блоке посмотритеCMPedometerHandler
.Обсуждение
Используйте этот метод для получения исторических пешеходных данных между указанными датами. Этот метод работает асинхронно и поставляет данные блоку, который Вы обеспечиваете. Только ценность прошлых семи дней данных сохранена и доступна для Вас для получения. Указание даты начала, которая составляет больше чем семь дней в прошлых возвратах только доступные данные.
Безопасно вызвать этот метод в то же самое время, когда Вы генерируете непрерывные обновления с помощью
startPedometerUpdatesFromDate:withHandler:
метод.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.
Типы данных
-
Блок для обработки связанных с шагомером данных.
Объявление
Swift
typealias CMPedometerHandler = (CMPedometerData!, NSError!) -> Void
Objective C
typedef void (^CMPedometerHandler)(CMPedometerData *pedometerData, NSError *error);
Обсуждение
Вы обеспечиваете блок этого типа, запрашивая данные от
CMPedometer
объект. Когда данные становятся доступными, объект шагомера поставляет те данные Вашему блоку для обработки. Если была ошибка при получении данных, объект шагомера обеспечивает ошибочный объект вместо этого.Этот блок не имеет никакого возвращаемого значения и берет следующие параметры:
pedometerData
A
CMPedometerData
объект, содержащий доступные данные. Если была ошибка при получении данных, этот параметрnil
.error
NSError
возразите, была ли проблема илиnil
если данные шагомера были получены успешно.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 8.0 и позже.