Как на Safari под iOS вызвать нативный шеринг с файлом?

Веб-страничка для мобильных, в canvas генерится картинка, которую можно скачать-сохранить на устройство.

Есть ещё экспериментальная технология Navigator.share(), и с ней получается открыть нативный диалог шеринга.
код шеринга
cnv.toBlob((blob) => {
  const file = new File([blob], filename, {type: blob.type}); // PNG by default
  share(file);
})

const share = (file) => {
  const filesArray = [file];

  if (navigator.canShare && navigator.canShare({ files: filesArray })) {
    navigator.share({
      files: filesArray,
      title: 'Hello',
      text: 'World',
    })
    .then(() => errorLog('Share was successful.'))
    .catch((error) => errorLog('Sharing failed: ' + error));
  } else {
    errorLog(`Your system doesn't support sharing files.`);
  }
}


Получается на Android, но вот на iPhone'ах с iOS 14 шеринг файла не проходит проверку navigator.canShare(). Если файл убрать – шеринг текста работает.

Есть ли какая-то возможность таки открыть нативный системный диалог шеринга файла (картинки PNG) в яблочных устройствах?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы