我想創建一個應用程序,可以接收和處理動作更新,以瞭解用戶是靜止的,行走的,跑步的還是在交通工具上。 我在參考資料中看到CMMotionActivityManager對我很有用。如何使用CMMotionActivityManager並接收更新?
CMMotionActivityManager類提供對設備存儲的運動數據的訪問。運動數據反映了用戶是在步行,跑步,在車輛中還是在一段時間內靜止。
我是新來的應用程序開發,我不明白如何使用該方法開始更新。 這樣做的方法是- (void)startActivityUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMMotionActivityHandler)handler
。 我不明白我應該在處理程序中,因爲基準說:
處理 塊檢測到當前的運動類型發生變化時執行。有關此塊參數的信息,請參閱CMMotionActivityHandler。該屬性不能爲零。
我的實現是:
- (IBAction)startButtonPressed:(id)sender {
_motionActivityManager = [[CMMotionActivityManager alloc] init];
[_motionActivityManager startActivityUpdatesToQueue:NSOperationQueueDefaultMaxConcurrentOperationCount withHandler:CMMotionActivityHandler];
}
我已經導入了CoreMotion框架 不過的XCode不承認CMMotionActivityHandler
,我在哪裏錯了?我該如何解決這個問題?
感謝
你能不能解釋一下這段代碼?我不明白。 motionHandler中的代碼是什麼? – emattiazzi
這是CMMotionManager而不是CMMotionActivityManager –
NSLog不需要在主隊列上執行,這是多餘的。 –