【问题标题】:cordova-plugin-camera not working in IOScordova-plugin-camera 在 IOS 中不起作用
【发布时间】:2017-03-03 18:55:48
【问题描述】:

我正在使用 ionic 为 Android 和 IOS 开发一个混合应用程序。

虽然从 Android 打开相机工作正常,但我无法从 IOS 设备打开相机。

我为此安装了相应的插件

cordova plugin add cordova-plugin-camera.

接下来我在cordova.js 行之前将ng-cordova.js 添加到index.html 中。

app.js 中我也包括angular.module('starter', ['ionic', 'ngCordova']

在Controller.js中添加$cordovaCamera 我的代码为

navigator.camera.getPicture(onSuccess,onFail, {
                      quality:90
                      destinationType:Camera.DestinationType.DATA_URL,
                      sourceType:Camera.PictureSourceType.CAMERA,
                      allowEdit:false,
                      encodingType:Camera.EncodingType.JPEG,
                      popoverOptions:CameraPopoverOptions,
                      saveToPhotoAlbum:true,
                      correctOrientation:true
                      })

            function onSuccess(imageURI){
                $rootScope.$broadcast("ShowAttachmentModal",imageURI);
            }
            function onSuccess(message){
                alert('Failed'+message);
            }

此代码在 Android 中完美运行,但在打开相机时无法在 IOS 中运行。

【问题讨论】:

  • 仔细检查以确保为 iOS 安装了该插件。我确定你有。但请确保在我们继续之前。

标签: ionic-framework cordova-plugins ngcordova


【解决方案1】:

@MartinP,而不是已弃用的 ngCordova,看看您是否可以使用替换库 Ionic-Natve (http://ionicframework.com/docs/v2/native/camera/)。

那就试试这段代码吧。

  function takePicture() {
      var opts = {
        quality: 90,
        encodingType: $cordovaCamera.EncodingType.JPEG,
        destinationType: $cordovaCamera.DestinationType.DATA_URL,
        correctOrientation: true,
        allowEdit: true,
        targetWidth: 300,
        targetHeight: 300
      };

      $cordovaCamera.getPicture(opts).then(function (imageData) {
        $rootScope.$broadcast("ShowAttachmentModal",imageData);;
      }, function (err) {
        $log.error(err);
      });
    }

Cordova 插件也是一样的。您需要将 $cordovaCamera 注入您的控制器。一旦它工作,那么你可以玩弄这些选项。您可能知道,DATA_URL 选项返回一个 Base64 编码的字符串。因此,要将其设置为图像的来源,您需要在 imageData 前面加上 'data:image/jpeg;base64,'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多