Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

CMMotionManager oraz HKWorkoutSession na appleWatch'u


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 macQUB

macQUB
  • 334 postów
  • SkądPodkarpacie

Napisano 03 marca 2016 - 10:52

Próbuje stworzyć program który będzie pobierał dane z akcelerometru zegarka, wiadomo jak zegarek się uśpi wszystkie timery się zatrzymują w tym CMMotionManager. 

Jednak znalazłem gdzieś w sieci że dzięki HKWorkoutSession aplikacja działa w tle. Kilka razy mi się to udało, ale nie zawsze nie wiem dlaczego tak się dzieje (skąd takie zachowanie).

 

Mój kod:

Uruchamianie HealthKit

let workoutSession = HKWorkoutSession(activityType: .Golf, locationType: .Outdoor) // gdzie mogę znaleźć informacje odnośnie korzystania z HKWorkoutActivityTypeGolf?
let healthStore:HKHealthStore = HKHealthStore()
self.workoutSession.delegate = self
self.healthStore.startWorkoutSession(self.workoutSession)

W innym miejscu uruchamiam akcelerometr

let motinoManager:CMMotionManager = CMMotionManager()

  func runAccelerometre()->Void{      
        if isAccelerometreRun(){
            return}
        
        motinoManager.accelerometerUpdateInterval = 1
        
        motinoManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { (accelerometreData:CMAccelerometerData?, error:NSError?) -> Void in
            if CMSensorRecorder.isAccelerometerRecordingAvailable() {
                
                if let acceleromet = accelerometreData{

                    let accSample = AccelerometerSample()
                    
                    accSample.x = acceleromet.acceleration.x
                    accSample.y = acceleromet.acceleration.y
                    accSample.z = acceleromet.acceleration.z
                    accSample.time = NSDate()
                }
            }
        }
 }





Użytkownicy przeglądający ten temat: 2

0 użytkowników, 2 gości, 0 anonimowych