並列処理で加速度センサから15 msの間隔で加速度を取得したいと考えています。キューの使い方がイマイチわからないのですが,ネットを参考に書いてみました。実行してみるとデバッグエリアに予期せぬnilが発見されましたとエラー通知が出ました。
他の方法でも良いのでアプリ動作中に他の作業をしながら常に加速度を取得できる方法を教えてもらいたいです。
swift
1DispatchQueue.global(qos: .default).async { 2 3 if self.motionManager.isAccelerometerAvailable { 4 5 //intervalの設定(秒数) 6 self.motionManager.accelerometerUpdateInterval = 0.015 7 //センサー値の取得開始 8 self.motionManager.startAccelerometerUpdates( 9 to: OperationQueue.current!, 10 withHandler: {(accelData: CMAccelerometerData?, error: Error?) in 11 self.outputAccelData(acceleration: accelData!.acceleration) 12// 13 }) 14 15 16 } 17 } 18
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。