Cordova Media Capture captureImage аварийно завершает работу для IOS - PullRequest
0 голосов
/ 28 ноября 2018

это приложение работало нормально и было опубликовано в магазине приложений около 3 недель назад.Однако теперь, когда я использую функцию Cordova media captureImage, она, в конечном счете, приводит к черным экранам и принудительному закрытию.

Я действительно могу сделать фотографию, только когда я нажимаю «использовать фото», она вылетает.

Я могу записывать и использовать видео очень хорошо, что я также нахожу озадачивающим.

Я запутался, почему он вдруг перестал работать?Также тот же код используется для Android, и он работает нормально.

Мне нужно проверить, загрузив на тестовый рейс, поэтому у меня нет выбора отладки по USB.

Версия Cordova:8.1.2 (cordova-lib@8.1.1)

XCode: версия 10.1 (10B61)

У кого-нибудь есть какие-либо предложения о том, как я могу решить эту проблему?

Я добавил соответствующие изменения конфигурации для разрешений.

<edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
  <string>My Reason..</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSMicrophoneUsageDescription">
  <string>My Reason..</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
  <string>My reason ..</string>
</edit-config>

Вот мой JavaScript:

function takePicture(filePreview, multiUpload) {
  var captureSuccess = function(mediaFiles) {
    var i, path, len;
    for (i = 0, len = mediaFiles.length; i < len; i += 1) {
      path = mediaFiles[i].fullPath;
      if (filePreview !== null) {
        var image = document.getElementById(filePreview);
        image.src = path;
      }
    }
  };

  // capture error callback
  var captureError = function(error) {
    //alert("oops");
  };

  // start image capture
  if (multiUpload) {
    navigator.device.capture.captureImage(captureSuccess, captureError, {
      limit: 5
    });
  } else {
    navigator.device.capture.captureImage(captureSuccess, captureError, {
      limit: 1
    });
    return;
  }
}

1 Ответ

0 голосов
/ 28 ноября 2018

Возможно, он был удален в ваших разрешениях, но убедитесь, что у вас все еще есть NSCameraUsageDescription, NSMicrophoneUsageDescription и NSPhotoLibraryUsageDescriptionentry в вашем файле info.plist.Он удалил его раньше для меня, когда я по какой-то причине обновил свой проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...