ionic3 - inappBrowser - файлы IOS не загружаются

у меня проблема с IOS, когда я пытаюсь загрузить файл PDF с помощью inAppBrowser. С тем же кодом у меня нет проблем с открытием файла в Интернете.

Я вызываю InAppBrowser, чтобы открыть PDF-файл следующим образом:

 this.inAppBrowser.create(helpAsset.url, '_system', 'hideurlbar=yes');

helpAsset.url определяет файл, который находится в моем активе/репозитории, это внутренний файл

Когда я создаю свое приложение с помощью xcode в отладке и помещаю его на свой Ipad (на IOS 12), файл открывается в Safari без проблем. Но с той же версией, но в режиме выпуска файл не открывается, и у меня есть пустая страница.

Я попытался изменить «_system» на «_blank», но проблема та же.

Я читал, что это может быть проблема CORS, которую можно решить с помощью ionic-native http, но я понятия не имею, как интегрировать ее с inappBrowser.

Кто-нибудь знает, как это исправить?


person Stefan MARTEL    schedule 05.10.2018    source источник
comment
Является ли helpAsset.url http (не https)?   -  person    schedule 05.10.2018
comment
Это внутренний файл (актив/каталог)   -  person Stefan MARTEL    schedule 08.10.2018
comment
stackoverflow.com/questions/26377829/   -  person    schedule 09.10.2018


Ответы (1)


Окончательно,

я обхожу проблему, создавая PDF-файл на Ipad, читая его с него, и он работает (PDF-файл не открывается в сафари, но с помощью плагина для чтения PDF-файлов IOS по умолчанию)

this.file.createDir(rep, 'edossier', true).then(
        createDirReturn => {
            this.file.createFile(rep + '/edossier', 'pdfToDisplay.pdf', true).then(
                createFileReturn => {
                    this.httpClient.get(helpAsset.url, { responseType: 'blob' }).subscribe(result => {
                        this.file.writeExistingFile(rep + '/edossier', 'pdfToDisplay.pdf', result).then(
                            writingFileReturn => {
                                this.inAppBrowser.create(rep + '/edossier/' + 'pdfToDisplay.pdf', '_blank', 'hideurlbar=no,location=no,toolbarposition=top'
                                );
                            }
                        );
                    });
                });
        });

Я думаю, что код может быть лучше, но это работает нормально.

person Stefan MARTEL    schedule 17.10.2018