我需要在我的iOS应用程序中打开Safari浏览器的网页。
与XE2有iphoneall单元,其暴露的UIApplication 。 XE4不使用FPC了,所以我不能使用。
Embarcadero的文档说,我可以使用的SDK只与C ++或使用Delphi的接口(和仍然,macapi仅用于OSX,iOS的不)。 因此,似乎有对UIKit框架没有接口?
我尝试另一种解决方案是:
_system('open http://www.google.com');
但是,这并没有影响到大家!
是否有任何其他的方式来打开网址还是我的运气来完成呢?
我知道有TWebBrowser组件适用于iOS,但我不想拿这条道路只是为了显示网页。
一次偶然的机会,有人在Embarcadero公司发布的一段代码,做的正是这个前两天。
如果您正在使用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;
(署名:代码片段都来自复制链接的博客文章 。)
还有一个非常古老的论坛帖子从FireMonkey初期显示如何解决一般这些问题(基本上,串< - >的NSString < - > NSURL),虽然这是一个有点过时了-因为你可以看到上面的代码,FireMonkey已经成熟大大 - 它可能提供一些洞察根本原因的代码。