我已经从手机上的Play商店安装了ionic Dev应用。而且我可以使用以下命令直接在移动设备上访问应用程序:
ionic serve -c
但是,当我尝试在设备上测试离子本机功能(例如Camera)时,却出现以下错误:
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
我已尝试搜索此消息,但没有足够的支持。而且我也无法弄清楚该消息的含义。
有什么建议吗?
答案 0 :(得分:0)
在ionic.config.json文件中检查您的项目类型。
如果类型为“离子角” ,则安装4.x.x版本。例子
npm i -s @ionic-native/camera@4.20.0
如果类型为“角度” ,则安装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
中删除 ngximport { Camera } from '@ionic-native/camera';
答案 1 :(得分:0)
我在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>
我希望这会对其他人有所帮助。