相机插件在 iOS 的 phonegap 应用程序中不起作用
Posted
技术标签:
【中文标题】相机插件在 iOS 的 phonegap 应用程序中不起作用【英文标题】:Camera plugin is not working in phonegap app for ios 【发布时间】:2015-07-17 11:37:54 【问题描述】:我是 ios 开发新手。 我创建了一个带有 phonegap 的应用程序,它在 android 上运行良好。 但是对于IOS它不起作用。我已经安装了所有的插件。
现在我正在测试相机插件。
但它显示以下错误。
Error: Can't find variable: Camera ionic.bundle.js:20306
clickPicture@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/app/common/camera-service.js:11:38
_takePicture@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/app/registration/registeration-controller.js:54:44
$parseFunctionCall@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:21044:23
file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:53439:21
$eval@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:23100:28
$apply@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:23199:28
file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:53438:19
eventHandler@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:11713:25
dispatchEvent@[native code]
triggerMouseEvent@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:2863:20
tapClick@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:2852:20
tapTouchEnd@file:///private/var/mobile/Containers/Bundle/Application/CF215D1D-130F-4901-B935-C086A94A5579/test_proj.app/www/lib/ionic/js/ionic.bundle.js:2975:13
我的项目中有两个 config.xml 文件
一个在root
文件夹中,另一个在staging
文件夹中
我在两个文件中都输入了相机插件,并尝试使用个人文件。
我在 config.xml 中尝试过两种类型的条目
第一个:
<feature name="Camera">
<param name="ios-package" value="org.apache.cordova.camera" />
</feature>
第二个
<feature name="Camera">
<param name="ios-package" value="CDVCamera" />
</feature>
但它不断显示相同的错误。
这是我的项目文件结构。 我正在尝试从过去两天修复它。但不知道我哪里错了。
【问题讨论】:
您不必在任何 config.xml 中添加功能标签,它是在插件安装时添加的(在暂存的 config.xml 上)。您是否正在等待设备准备就绪?尝试卸载并重新安装插件 是的。我也做过同样的事情。我们正在等待设备准备就绪。而且我还重新安装了插件 2-3 次。但对我没有任何作用): 我刚刚测试了最新的相机插件“cordova plugin add cordova-plugin-camera”和ionic 1.6.1,它工作正常,你使用的是哪个版本? 这是我的相机插件 "org.apache.cordova.camera 0.3.6 "Camera",我的 ionic 版本是 1.0.0-rc.5 删除您的相机插件并使用cordova插件添加最新的相机插件添加cordova-plugin-camera,0.3.6非常旧,您的问题可能是一个错误 【参考方案1】:花了很多时间之后。我发现插件没有更新ionic.bundle.js
,因为我只是运行cordova platform update ios
命令。
现在它工作正常了。
【讨论】:
以上是关于相机插件在 iOS 的 phonegap 应用程序中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap 3.4.0 和相机插件 (iOS) 的问题:CDVPlugin 类 CDVCamera (pluginName: camera) 不存在