使用 Ionic Dev 应用程序测试 Ionic Native 功能

Testing Ionic Native features with Ionic Dev app

我已经在我的手机上安装了来自 Play 商店的 ionic Dev 应用程序。我可以直接在移动设备上访问应用程序,只需使用:

ionic serve -c

但是,当我尝试在我的设备上测试 ionic 本机功能(例如相机)时,出现以下错误:

 Object(__WEBPACK_IMPORTED_MODULE_0__ionic_native_core__["cordova"]) is not a function. 
(In 'Object(__WEBPACK_IMPORTED_MODULE_0__ionic_native_core__["cordova"])(this, "getPicture", { "callbackOrder": "reverse" }, arguments)', 
'Object(__WEBPACK_IMPORTED_MODULE_0__ionic_native_core__["cordova"])' is an instance of Object)

堆栈:

getPicture@http://192.168.100.4:8100/build/vendor.js:129897:138
scan@http://192.168.100.4:8100/build/main.js:44:88
callWithDebugContext@http://192.168.100.4:8100/build/vendor.js:15423:47
dispatchEvent@http://192.168.100.4:8100/build/vendor.js:10329:36
http://192.168.100.4:8100/build/vendor.js:39890:65
onInvokeTask@http://192.168.100.4:8100/build/vendor.js:5076:43
runTask@http://192.168.100.4:8100/build/polyfills.js:3:10844
invokeTask@http://192.168.100.4:8100/build/polyfills.js:3:16801
p@http://192.168.100.4:8100/build/polyfills.js:2:27654
v@http://192.168.100.4:8100/build/polyfills.js:2:27894

我尝试搜索此消息,但没有足够的支持。而且我也无法弄清楚消息的含义。

有什么建议吗?

检查 ionic.config.json 文件中的项目类型。

如果类型是"ionic-angular",则安装4.x.x版本。例子

npm i -s @ionic-native/camera@4.20.0

如果类型是"angular",则安装5.x.x

npm i -s @ionic-native/camera@5.0.0

:

仅当您使用 Angular 6

时才在导入末尾添加 ngx
import { Camera } from '@ionic-native/camera/ngx';

如果不从 app.module.ts 和 app.component.ts

的导入中删除 ngx
import { Camera } from '@ionic-native/camera';

我发现了问题,我正在 iPhone 上进行测试,我们需要明确提供设置以允许访问 config.xml 文件中的相机。

我能够这样做,方法是在 config.xml 文件中添加以下代码行:

<edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
    <string>Used to take pictures and Scan QR codes</string>
</edit-config>

希望这对其他人有所帮助。