iPhone: откройте url-адрес программно


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

4 23

4 ответа:

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

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

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

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

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

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

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

Если вы хотите открыть и просто получить данные из 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.
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"];
            }