Ionic 3 - Средство открытия файлов не работает на iOS через DevApp - PullRequest
0 голосов
/ 23 февраля 2019

Может кто-нибудь помочь выяснить, почему мое приложение настаивает на том, что плагин FileOpener не установлен, когда он на самом деле установлен?

Каждый раз, когда я пытаюсь открыть PDF / Image / Docx / XlSX или любой другой тип файла, который я получаюуведомление в консоли, как показано ниже:

enter image description here

Я следовал этому уроку здесь построчно и когда я изучал файлСтруктура Я вижу, что плагин FileOpener есть, см .:

enter image description here

enter image description here

Inмой 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 голосов
/ 26 февраля 2019

DevApp содержит только определенные плагины, поэтому не все будут поддерживаться.См. Полный список поддерживаемых плагинов здесь: https://ionicframework.com/docs/appflow/devapp#native-cordova-plugin-support

Попробуйте протестировать определенные плагины непосредственно на устройстве (ionic cordova run android и т. Д.)

...