Ionic 2摄像头在iOS上选择视频不工作

Ionic 2摄像头在iOS上选择视频不工作,ios,ionic2,Ios,Ionic2,我正在用Ionic 2开发一个应用程序,我发现Ionic native/Camera有问题。我在Upload.ts上下载了此代码 let loader = this.loading.create({ content: 'Carregando video....' }); loader.present().then(() => { const options: CameraOptions = { quality: 100, destinationType: this.

我正在用Ionic 2开发一个应用程序,我发现Ionic native/Camera有问题。我在
Upload.ts上下载了此代码

let loader = this.loading.create({
  content: 'Carregando video....'
});
loader.present().then(() => {
  const options: CameraOptions = {
    quality: 100,
    destinationType: this.camera.DestinationType.FILE_URI,
    sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
    mediaType: this.camera.MediaType.VIDEO,
  }
  this.camera.getPicture(options).then((videoData) => {
      this.uploadForm.controls['file'].setValue(videoData)
      loader.dismiss();
    }, (err) => {
      console.log(err);
  });
});
这段代码在Android中运行得很好,但是当我运行ionic cordova运行ios-lc时,这个.camera.getPicture(选项)
的承诺永远无法解决,因此加载程序将永远运行


提前谢谢

所以,我发现了问题所在。第一件事是本机组件在
-l(--livereload)
中出现bug。我不知道怎么解释,但我是从爱奥尼亚环球公司得到这个信息的。爱奥尼亚团队的一名成员说:

"live-reload on a device can cause issues with plugins and file system".
因此,我通过这段视频了解了如何使用iOS模拟器和Safari消除应用程序的bug

视频简介:使用iOS emulator时,您可以访问菜单
Developer>emulator>
。将打开一个带有inspector工具的新窗口,来自emulator的日志将显示在此窗口上

我发现这是视频url不正确。之前,为了与Android兼容,我有以下代码负责在系统中查找视频指针并发送到服务器:

filePath = 'file:///' + this.uploadForm.controls['file'].value;
但是,iOS文件选择器已经有了“File://”前缀。因此,再次加上前缀就错了。所以我更新了代码如下:

  if (this.platform.is('android')) {
    filePath = 'file:///' + this.uploadForm.controls['file'].value;
  } else {
    filePath = this.uploadForm.controls['file'].value;
  }
这就解决了问题