web-dev-qa-db-ja.com

iPhone:プログラムでURLを開く

私はiPhoneが初めてです。アプリケーションでURLを開きたい。どうすればこのタスクを実行できますか?私を提案し、いくつかの有用なリンクを提供してください。

24
Rupesh

更新(2016):最近これを行う最良の方法は、SFSafariViewControllerをインスタンス化して提示することです。これにより、ユーザーはSafariのセキュリティと速度を利用でき、アプリを離れることなく、既に設定されているCookieやSafariの機能にアクセスできます。

SafariでURLを開きたい(そしてアプリケーションを終了したい)場合は、 IApplicationのopenURLメソッド を使用できます。

アプリ内で処理したい場合は、WKWebViewを使用してください。

12
bpapa

どうやら上記のリンクは古くなっています。 IApplication クラスの更新リンクは次のとおりです。

すばやく簡単なコードスニペットは次のとおりです。

// ObjC
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.google.com"]];

// Swift
UIApplication.shared.open(URL(string: "http://www.google.com")!, options: [:], completionHandler: nil)
77
Chris R

開いてURLからデータを取得したい場合は、NSStringを使用できます。

NSString *ans = [NSString stringWithContentsOfURL:url];

取得しようとしているのがURLからのXMLである場合は、NSXMLParserを直接使用できます。

NSURL *url = [[NSURL alloc] initWithString:urlstr];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
// parse here
[parser release];
[url release];

一方、開くことによって、埋め込みブラウザでURlを開く場合は、 IWebView クラスを使用できます。

5
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"https://medium.com/the-traveled-ios-developers-guide/Swift-3-feature-highlight-c38f94359731#.83akhtihk"]]) {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://medium.com/the-traveled-ios-developers-guide/Swift-3-feature-highlight-c38f94359731#.83akhtihk"]];
            }
            else{
                [SVProgressHUD showErrorWithStatus:@"Please enable Safari from restrictions to open this link"];
            }
3
Himanshu Bhatia