• 0
Сергей Сергеев

Открытие "своего" файла из приложения

Вопросы

Привет всем!

В приложении сохраняю файл в Documents,

В андроид, воспользовавшись методом описанным здесь открывается выбор приложения по MIME типу файла - и после сам файл выбранным приложением.

в IOS уже третий день сделать нечто подобное не удается..

1. метод - много где повторен , на вход URL строка начинающаяся с 'file:/'+ путь

{$IFDEF IOS}
var
  NSU: NSUrl;
  urlt : string;
begin

   // iOS doesn't like spaces, so file encode is important.
        NSU := TNSURL.Wrap (TNSURL.OCClass.URLWithString (StrToNSStr
            (PChar (URL))));

  if SharedApplication.canOpenURL(NSU) then  begin
     toast('NSU '+NSUrlToStr(   NSU));
    exit(SharedApplication.openUrl(NSU));

  end
  else
  begin
    if DisplayError then
      ShowMessage('Error: Opening "' + URL + '" not supported.');
    exit(false);
  end;
end;


 {$ELSE}

toast срабатывает и больше ничего.. без ошибок..

если заменить SharedApplication.openUrl(NSU) -> WebBrowser1.Navigate(url) - то файл открывается ( в данном случае - картинка jpg )

т.е. файл на месте и доступен..

нашел тут тему http://fire-monkey.ru/topic/2115-airdrop-или-новая-кнопка-open-in-в-ios9-решено/

открыть в .. по идее то что нужно, как в Андроид, но что то не работает..

на вход Share - подал Panel (?) и путь к файлу, пробовал и с 'file://' и без - молча не работает, на панели ничего, пошагово прошел, вроде нормально все ..

кто пробовал этот метод  - jpg? html? pdf должен открывать? т.е. предлагать приложения для открытия?

правда там написано для IOS 9, пробую в 10..

вообщем пока единственное что сработало - это открыть в TWebBrowser - неужели как в андроид - выбор приложения для открытия по миме типу нельзя сделать?

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 ответов на этот вопрос

  • 0

в iOS либо открывать через WebBrowser, либо пользователь сам решает, через кнопку "Поделиться", через что открыть файл...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Для открытия файла лучше пользоваться не:

TNSURL.Wrap (TNSURL.OCClass.URLWithString (StrToNSStr
            (PChar (URL))));

а:

TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path)));

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 19.01.2017 в 14:43, wamaco сказал:

в iOS либо открывать через WebBrowser, либо пользователь сам решает, через кнопку "Поделиться", через что открыть файл...

 

эту кнопку в приложении можно нажать? чтобы пользователь выбирал дальше чем хочет открыть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 20.01.2017 в 00:58, Fedor K сказал:

Для открытия файла лучше пользоваться не:


TNSURL.Wrap (TNSURL.OCClass.URLWithString (StrToNSStr
            (PChar (URL))));

а:


TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path)));

 

не открывает и так тоже..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу