2013-05-03 2 views
4

Мне нужно открыть веб-страницу с сафари в приложении iOS.
С XE2 был iphoneall единица, которая выставлена ​​UIApplication. XE4 больше не использует FPC, поэтому я не могу использовать это.
Embarcadero documentation говорит, что я могу использовать SDK только с C++ или с использованием интерфейсов delphi (и, тем не менее, macapi предназначен только для OSX, а не для iOS). Итак, кажется, что для UIKit-интерфейса нет интерфейса ?!
Другого решения я попробовал было:Открытие URL-адреса в приложении ios

_system('open http://www.google.com'); 

Но это уже не влияет на всех!
Есть ли другие способы открыть URL-адреса, или мне не повезло, чтобы выполнить это?
Я знаю, что есть компонент TWebBrowser для ios, но я бы не хотел, чтобы эта дорога была показана только для отображения веб-страницы.

Заранее благодарен!

ответ

5

Случайно, кто-то в Embarcadero posted a code snippet to do exactly this два дня назад.

Если вы используете xe4, смотрите в образцах, и вы можете найти один (извините, не уверен в названии), где конечный код:

OpenURL('http://www.embarcadero.com'); 

Это использует структуру xe4 FireMonkey и класс помощник, написанный Дэвидом Клеггом, доступный в образце.

Если вы используете старую версию FireMonkey, вы можете использовать вместо более громоздкого кода:

function SharedApplication: UIApplication; 
begin 
    Result := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); 
end; 

procedure TForm2.Button1Click(Sender: TObject); 
begin 
    SharedApplication.openURL(TNSURL.Wrap(TNSURL.OCClass.URLWithString(NSSTR(PChar(String('http://www.embarcadero.com')))))); 
end; 

(атрибуции: Фрагменты кода все скопированный из linked blog post.)

Там также является very old forum post с первых дней FireMonkey, показывающих, как решить эти проблемы в целом (в основном, строка < -> NSString < -> NSURL), и хотя она немного устарела - как вы можете видеть по приведенному выше коду, FireMonkey созрел в значительной степени - это может дать некоторое представление об основных причина для кода.

+3

спасибо, я наконец нашел файл Apple.Utils. Он находится в папке Samples \ Delphi \ RTL \ CrossPlatform Utils! – Peacelyk

Смежные вопросы