在ios应用程序中打开URL

在ios应用程序中打开URL,ios,delphi,firemonkey,delphi-xe4,Ios,Delphi,Firemonkey,Delphi Xe4,我需要在iOS应用程序中打开带有safari的网页。 有了XE2,就有了iphoneall单元,它暴露了。XE4不再使用FPC,所以我不能使用它。 说我只能使用C++或使用Delphi接口使用SDKs(而且,Mac API只适用于OSX,而不是iOS)。所以,似乎UIKit框架没有接口 我尝试的另一个解决方案是: _system('open http://www.google.com'); 但那根本没有影响 有没有其他方法可以打开URL?或者我是不是运气不佳 我知道ios有TWebBrowse

我需要在iOS应用程序中打开带有safari的网页。
有了XE2,就有了iphoneall单元,它暴露了。XE4不再使用FPC,所以我不能使用它。
说我只能使用C++或使用Delphi接口使用SDKs(而且,Mac API只适用于OSX,而不是iOS)。所以,似乎UIKit框架没有接口
我尝试的另一个解决方案是:

_system('open http://www.google.com');
但那根本没有影响
有没有其他方法可以打开URL?或者我是不是运气不佳
我知道ios有TWebBrowser组件,但我不想为了显示网页而走这条路

碰巧,两天前有人在Embarcadero

如果您使用的是XE4,请查看示例,您可以找到一个(抱歉,不确定名称),其中的最终代码是:

OpenURL('http://www.embarcadero.com');
这使用了XE4 FireMonkey框架和David Clegg编写的类帮助器(示例中提供)

如果您使用的是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已经非常成熟了——它可能会让您对代码的根本原因有一些了解。

谢谢,我终于找到了Apple.Utils文件。它位于Samples\Delphi\RTL\CrossPlatform Utils文件夹中!