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

时间:2019-01-26 13:06:51

标签: ionic-framework ionic3 ionic-native

我已经从手机上的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

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

有什么建议吗?

2 个答案:

答案 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

中删除 ngx
import { 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>

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