Я использую Sensors_plus: ^6.1.1 для Android и iOS, на Android все хорошо, но на iOS он не работает, слушатель просто не слушает событие, и у него также нет ошибки
class AppStepsTracker with ChangeNotifier {
StreamSubscription? _streamSubscriptions;
int _steps = 0;
String? _error;
int get steps => _steps;
String? get error => _error;
void initiate() {
_error = null;
_streamSubscriptions = userAccelerometerEventStream().listen(
_stepsCalculator,
onError: (e) {
_error = '$e';
notifyListeners();
},
cancelOnError: true,
);
}
void close() {
_error = null;
_steps = 0;
_streamSubscriptions?.cancel();
dev.log('AppStepsTracker() has been closed');
}
final double incrementStepsThreeshold = 90;
double _x = 0.0;
double _y = 0.0;
double _z = 0.0;
double _distance = 0.0;
double _tmpSteps = 0.0;
void _stepsCalculator(UserAccelerometerEvent snapshot) {
_x = snapshot.x;
_y = snapshot.y;
_z = snapshot.z;
_distance = _getValue(_x, _y, _z);
if (_distance > 1) {
_tmpSteps++;
}
if (_tmpSteps > incrementStepsThreeshold) {
_steps++;
_tmpSteps = 0;
}
notifyListeners();
}
double _getValue(double x, double y, double z) {
final double magnitude = sqrt(x * x + y * y + z * z);
return magnitude;
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... w-an-error