capacitor-docs
capacitor-docs copied to clipboard
Error with the configuration of the plugin Motion
Describe the bug
Hello,
An error appears when I try to set the plugin @capacitor/motion.
To reproduce Steps to reproduce the behavior:
- Install an blank ionic project + add
wwwand ìos` - Install the plugin using these commands:
npm install @capacitor/motionnpx cap sync - Open the file
app.component.ts - Add the imports on the top of the file
- In the function
ngOnInit(), add the method to request the permission `await DeviceMotionEvent.requestPermission();`` - See the error (red underline below
requestPermission):Property 'requestPermission' does not exist on type '{ new (type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; prototype: DeviceMotionEvent; }'
Screenshot

Expected behavior Don't have any error when I try to setup the plugin following the instructions.
Browser and OS (please complete the following information)
- OS: MacOs Monterey 12.6
- Browser: Chrome
- Version: 105.0.5195.125
Thank you for your help, Loïc
Hello,
I notice that this question was asked in the Ionic forum here. So it looks like this is not a recent issue. Could you please help us to use this plugin with Ionic?
Thanks, Loïc
PR to improve this: https://github.com/ionic-team/capacitor-plugins/pull/1614
Essentially you want to call:
if ((DeviceMotionEvent as any).requestPermission) {
const result = await (DeviceMotionEvent as any).requestPermission();
// This should return a result of 'granted'
}
The DeviceMotionEvent.requestPermission API is available on some Safari/Mobile Safari/iOS versions so you need to check if the API exists before calling it.