gpt4 book ai didi

ios - 如何使用 CMMotionActivityManager 并接收更新?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:58 26 4
gpt4 key购买 nike

我想创建一个可以接收和处理运动更新的应用,以便了解用户是静止、行走、运行还是在交通工具上。我在引用资料中看到 CMMotionActivityManager 对我很有用。

The CMMotionActivityManager class provides access to the motion data stored by a device. Motion data reflects whether the user is walking, running, in a vehicle, or stationary for periods of time.

我是应用程序开发的新手,我不知道如何使用开始更新的方法。这样做的方法是 - (void)startActivityUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMMotionActivityHandler)handler。我不明白我应该在处理程序上写什么,因为引用资料说:

handler The block to execute when a change in the current type of motion is detected. For information about the parameters of this block, see CMMotionActivityHandler. This property must not be nil.

我的实现是:

- (IBAction)startButtonPressed:(id)sender {
_motionActivityManager = [[CMMotionActivityManager alloc] init];
[_motionActivityManager startActivityUpdatesToQueue:NSOperationQueueDefaultMaxConcurrentOperationCount withHandler:CMMotionActivityHandler];
}

我已经导入了 CoreMotion 框架但是 XCode 不识别 CMMotionActivityHandler,我哪里错了?我该如何解决这个问题?

谢谢

最佳答案

示例代码:

[_motionActivityManager startActivityUpdatesToQueue:[[NSOperationQueue alloc] init]
withHandler:
^(CMMotionActivity *activity) {

dispatch_async(dispatch_get_main_queue(), ^{

if ([activity walking]) {
NSLog(@"walking");
}
});
}];

关于ios - 如何使用 CMMotionActivityManager 并接收更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21255533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com