2015-09-22 61 views
3

我試圖從Apple Watch中記錄和讀取歷史數據。 不幸的是,關聯的DataList總是等於零。使用watchOS2讀取加速度計數據 - iOS9 - XCode 7.0

更明確,我的手錶上的應用程序,我有兩個按鈕: - 一個開始記錄數據 - 一個讀取數據

這裏是相關的代碼 - 在WatchKit擴展運行:

- (IBAction)start { 

    // Check authorizations with boolean 
    bool toTest_AccelerometerAvailable = [CMSensorRecorder isAccelerometerRecordingAvailable]; 
    bool toTest_RecordingAuthorized = [CMSensorRecorder isAuthorizedForRecording]; 

    // Check if recorder has been initialized, then launch record session for 20 seconds 
    if ([CMSensorRecorder isAuthorizedForRecording]) { 
     if (!self.recorder) 
     { 
      self.recorder = [[CMSensorRecorder alloc] init]; 
     } 

     NSTimeInterval interval = 1 * 20; 
     [self.recorder recordAccelerometerFor:interval]; 
    } 
} 

- (IBAction)read { 

    // Check authorizations with boolean 
    bool toTest_AccelerometerAvailable = [CMSensorRecorder isAccelerometerRecordingAvailable]; 
    bool toTest_RecordingAuthorized = [CMSensorRecorder isAuthorizedForRecording]; 

    // Try to get historical data from the last 2 days 
    NSDate *now = [NSDate date]; 
    NSDate *startDate = [now dateByAddingTimeInterval:-2*24*60*60]; 
    CMSensorDataList *dataList = [self.recorder accelerometerDataFrom:startDate to:[NSDate date]]; 
} 

在iOS應用程序端,我要求&健身授權表格。

調試會話結果如下:

  • 布爾toTest_RecordingAuthorized總是等於真(啓動&讀功能) - 進入形成&健身被要求在相關的iOS應用。

  • 布爾toTest_AccelerometerAvailable總是等於假(開始&讀取功能)

  • CMSensorDataList * DataList控件是

測試使用模擬器也與實際設備的任何時間等於零(iOS 9.0 & watchOS 2.0)。同樣的結果!

我想,只要isAccelerometerRecordingAvailable返回false,這個問題將長期存在。 不知道如何解決它......

有誰還嘗試這個問題並解決它?

回答