Cordova 2.8.1:camera.getPicture与ios上的Photolibary源

Cordova 2.8.1:camera.getPicture与ios上的Photolibary源,ios,cordova,Ios,Cordova,使用cordova 2.8.1,我正在尝试使用photolibrary制作camera.getPicture。它似乎适用于android,但不适用于iOS。下面是如何调用getPicture代码。在配备iOS 6的iPhone4S上,它允许我选择一个图像,但一旦选择完毕,就会调用错误回调,参数为null var options = { quality : 30, destinationType : Camera.DestinationType.FILE_U

使用cordova 2.8.1,我正在尝试使用photolibrary制作camera.getPicture。它似乎适用于android,但不适用于iOS。下面是如何调用getPicture代码。在配备iOS 6的iPhone4S上,它允许我选择一个图像,但一旦选择完毕,就会调用错误回调,参数为null

var options = {
          quality : 30,
          destinationType : Camera.DestinationType.FILE_URI,
          sourceType : Camera.PictureSourceType.PHOTOLIBRARY,
          correctOrientation: true,
          targetWidth: 800,
          targetHeight: 800
    };

navigator.camera.getPicture(this.captureSuccessPre, this.captureError, options);
我被告知在console.logs周围添加一个超时。在phonegaps文档中,它声明要围绕警报执行此操作。下面是我的错误回调。哪些日志[错误为空]

captureError: function(error){
    setTimeout(function(){
        console.log("error " + error); //logs error null
    }, 100);
}
任何人都有任何想法。我已经挣扎了几天了。如果它对任何人都有帮助,那么这段代码可以完美地工作

sourceType : Camera.PictureSourceType.CAMERA,

我有完全相同的问题;似乎与DestinationType.FILE\u URI相关

试试这个:

var options = {
      quality : 30,
      destinationType: navigator.camera.DestinationType.NATIVE_URI,
      sourceType : Camera.PictureSourceType.PHOTOLIBRARY,
      correctOrientation: true,
      targetWidth: 800,
      targetHeight: 800
}; 

看起来2.8.0中有一个bug-如果您升级到2.9.0,它会修复它([CB-3757]camera.getPicture from photolib在iOS上失败-

试试这个,它会对您有所帮助

function uploadFromGallery(){
      navigator.camera.getPicture(uploadPhoto,function(message){
            console.log('get picture failed'); },
       {quality: 75,
          destinationType: navigator.camera.DestinationType.FILE_URI,
          sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY,
          allowEdit:true, 
          targetWidth: 100,
          targetHeight: 100 
      }); 
}

你真棒!非常感谢你。我会投赞成票,但我想我是一个太多的stackoverflow初学者,不允许这样做。我注意到的一件事是,这会导致相机捕获(源类型:camera.PictureSourceType.camera)在iPad2上无法工作。是的,我也遇到了这个问题。。。我切换回文件_URI并输入encodingType:encodingType:Camera.encodingType.PNG现在似乎也能工作了…刚刚升级,我觉得问题仍然存在于2.9中。