Ionic 3-File Opener无法通过DevApp在iOS上运行

时间:2019-02-23 20:06:28

标签: typescript ionic-framework ionic3 cordova-plugins

有人可以帮我弄清楚为什么我的应用程序坚持认为实际上并未安装FileOpener插件吗?

每次我尝试打开PDF / Image / Docx / XlSX或任何其他文件类型时,都会在控制台中收到如下通知:

enter image description here

我逐行遵循了tutorial here,当我调查文件结构时,我可以看到FileOpener插件在那里,请参阅:

enter image description here

enter image description here

在我的app.module.ts中:

enter image description here

在我的user.provider.ts文件中:

enter image description here

enter image description here

这是我的DownloadDocument函数:

async DownloadDocument( location: string, name: string, mime: string, message: string = undefined )
  {
    var loading = await this.ShowLoading( message );

    try
    {
      var dir = '';

      if ( this.IsIOS )
      {
        dir = this.file.documentsDirectory;
      }
      else if ( this.IsAndroid )
      {
        dir = this.file.dataDirectory;
      }

      dir = `${dir}${name.replace(/ /g, '')}`;

      const fileTransfer: FileTransferObject = this.transfer.create();

      fileTransfer.download(`${this.APIUrl}/${location}`, dir, true)
                  .then( ( f ) => 
                  {
                    this.fp.open( f.toURL(), mime ).then( () =>
                    {
                      console.log('File is opened')
                    } )
                    .catch(err =>
                    {
                      console.log('Open Error: ' + JSON.stringify( err ));
                    });

                    loading.dismiss();
                  }, ( error ) => 
                  {
                    console.log('Download Error: ' + JSON.stringify( error ));

                    loading.dismiss();
                  } );

    }
    catch( error )
    {
      console.log('General Error: ' + JSON.stringify( error ));
      loading.dismiss();
    }
  }

但是要注意的一件事是,如果我使用DocumentViewer插件,它可以打开PDF文件。但是我想使用FileOpener插件,因为我打算打开PDF以外的其他文件。

有人可以看到我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

DevApp仅具有某些插件,因此将不支持所有插件。 在此处查看支持的插件的完整列表: https://ionicframework.com/docs/appflow/devapp#native-cordova-plugin-support

尝试直接在设备上测试特定的插件(离子Cordova运行android等)