我正在尝试从CMPedometer
访问数据。我有一个名为StepService
的类,它具有以下属性
@property (strong, nonatomic) CMPedometer *pedometer;
哪个有以下getter
-(CMPedometer*) pedometer{
if(!_pedometer){
_pedometer = [[CMPedometer alloc] init];
}
return _pedometer;
}
我正在使用以下代码来获取步骤:
-(void) storeData {
[self.pedometer queryPedometerDataFromDate:[[NSCalendar currentCalendar] startOfDayForDate:[NSDate date]]
toDate:[NSDate date]
withHandler:^(CMPedometerData *pedometerData, NSError *err){
if (err) {
NSLog(@"Error getting pedometer data: %@", err);
} else {
...
}
}];
}
当我这样调用上面的代码时:
StepService *stepService = [[StepService alloc] init];
[stepService storeData];
我获得err
错误域= CMErrorDomain代码= 103“(null)”
调试显示pedometer
不为空但pedometerData
为空。这里发生了什么,我该如何解决这个错误?
答案 0 :(得分:0)
按照Larme的建议,我在我的ViewController
中创建了一个属性并合成它,如下所示:
@interface MainViewController(){
@property (strong, nonatomic) StepService *stepService;
@end
@implementation MainViewController
@synthesize stepService
然后我能够创建并调用包含queryPedometerDataFromDate
的方法,如下所示:
stepService = [[StepService alloc] init];
[stepService storeData];