ionic4で@ionic-native/cameraが使えないときの対処法


エラーの内容

以下を実行してもcameraモジュールが使えない(2019/1/30日現在)

console
$ ionic cordova plugin add cordova-plugin-camera
$ npm install @ionic-native/camera
app.modules.ts
import { Camera } from '@ionic-native/camera';

providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},
    Camera
]

エラーメッセージ
Type 'CameraOriginal' is missing the following properties from type 'FactoryProvider'

原因

@ionic-native/coreのバージョンが5.0.0より低い

対処法

@ionic-native/coreのバージョンを上げる
「@」以降のバージョン指定は適宜書き直してください。

console
npm i --save @ionic-native/[email protected]
npm i --save @ionic-native/[email protected]
npm i --save @ionic-native/[email protected]
ionic cordova plugin add cordova-plugin-camera
npm install @ionic-native/camera
app.modules.ts
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { Camera } from '@ionic-native/camera/ngx';

providers: [
    StatusBar,
    SplashScreen,
    Camera,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
]

import元のディレクトリが「@ionic-native/camera」から「@ionic-native/camera/ngx」になっていることに注意してください。