iPhone: открыть URL программно - PullRequest
23 голосов
/ 01 ноября 2009

Я новичок в iPhone. Я хочу открыть URL в моем приложении. Как я могу сделать эту задачу? Пожалуйста, предложите мне и предоставьте полезную ссылку.

Ответы [ 4 ]

76 голосов
/ 21 октября 2010

Видимо, приведенная выше ссылка устарела. Вот ссылка на обновление класса UIApplication .

Быстрый и простой фрагмент кода:

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

// Swift
UIApplication.shared.open(URL(string: "http://www.google.com")!, options: [:], completionHandler: nil)
12 голосов
/ 01 ноября 2009

Обновление (2016): В настоящее время лучший способ сделать это - создать экземпляр SFSafariViewController и представить его. Это обеспечивает пользователю безопасность и скорость Safari, а также доступ к любым файлам cookie или функциям Safari, которые они, возможно, уже установили, не покидая приложение.

Если вы хотите открыть URL-адрес в Safari (и выйти из приложения), вы можете использовать openURL-метод UIApplication

Если вы предпочитаете, чтобы это обрабатывалось внутри вашего приложения, используйте WKWebView.

5 голосов
/ 01 ноября 2009

Если вы хотите открыть и просто получить данные из URL, вы можете использовать NSString:

NSString *ans = [NSString stringWithContentsOfURL:url];

Если вы пытаетесь получить XML из URL, вы можете напрямую использовать NSXMLParser:

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

С другой стороны, если при открытии вы имеете в виду открыть URl во встроенном браузере, вы можете использовать UIWebView класс.

3 голосов
/ 20 мая 2016
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"];
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...