相机插件在 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) 不存在

相机插件不适用于 Android 的 PhoneGap Build

使用相机插件拍摄新照片时,PhoneGap 应用程序崩溃

相机不适用于phonegap中的应用

PhoneGap 条码扫描器插件 - 相机关闭

Phonegap 相机插件问题 (DestinationType.FILE_URI)