无法在iOS phonegap adobe build上使用navigator.camera.getPicture

时间:2014-01-04 18:11:42

标签: javascript html5 cordova phonegap-build

我一直在寻找几个小时,无法获得我的phonegap应用程序(由adobe phonegap build编译),我担心我错过了一些关于phonegap的内容。我已将以下行添加到config.xml文件中:

<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="Camera">
    <param name="ios-package" value="CDVCamera" />
</feature>
<feature name="http://api.phonegap.com/1.0/file"/>
<feature name="http://api.phonegap.com/1.0/camera"/>

我尝试使用以下代码拍摄照片:

navigator.camera.getPicture(function(image) {callback("data:image/jpeg;base64," + image)}, cameraFail, { quality: 49 }); 

我通过在运行iOS 7的iPad2上运行它来测试它。我创建了一个基本的inapp控制台,问题似乎是navigator.camera不存在。感谢您的阅读希望,您可以提供帮助。

2 个答案:

答案 0 :(得分:10)

在另一个答案的帮助下,它让我意识到我做错了什么,所以我会发布在同一条船上的其他任何人。

我没有包含对cordova.js的引用,只需添加一个像这样的普通脚本标记即可:

<script src="cordova.js"></script>

我没有包含它,因为我没有文件cordova.js。我没有意识到的是,当使用adobe Phonegap Build服务时,文件会自动添加,我在源目录中不需要它,只是为了包含标记。

答案 1 :(得分:2)

为PhoneGap安装插件可能很困难。

您的代码中是否有以下功能?

navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

您的config.xml似乎没问题。

另外,请检查以下链接:

https://build.phonegap.com/plugins/242

https://github.com/apache/cordova-plugin-camera/tree/fed4f2280d786cabb24641eb6ce686acf98d0a94 (包含测试文件夹,以便您可以在设备上进行测试)