使用 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>
希望这对其他人有所帮助。
我已经在我的手机上安装了来自 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
时才在导入末尾添加 ngximport { Camera } from '@ionic-native/camera/ngx';
如果不从 app.module.ts 和 app.component.ts
的导入中删除 ngximport { 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>
希望这对其他人有所帮助。