Opening URL within ios application

前端 未结 1 1749
孤城傲影
孤城傲影 2020-12-21 03:38

I need to open a webpage with safari in my iOS application.
With XE2 there was iphoneall unit, which exposed UIApplication. XE4 doesn\'t use FPC anymore, so I c

相关标签:
1条回答
  • 2020-12-21 04:29

    By chance, someone at Embarcadero posted a code snippet to do exactly this two days ago.

    If you are using XE4, look in the Samples, and you can find one (sorry, not sure of the name) where the final code is:

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

    This uses the XE4 FireMonkey framework and a class helper written by David Clegg, available in the sample.

    If you are using an older version of FireMonkey, you can use the rather more cumbersome code:

    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;
    

    (Attribution: Code snippets all copied from the linked blog post.)

    There is also a very old forum post from the early days of FireMonkey showing how to tackle these problems in general (basically, string <-> NSString <-> NSURL), and while it's a bit out of date - as you can see by the above code, FireMonkey has matured greatly - it may give some insight into the underlying reason for the code.

    0 讨论(0)
提交回复
热议问题