iPhone: откройте url-адрес программно
Я новичок в iPhone. Я хочу открыть url-адрес в своем приложении. Как я могу выполнить эту задачу? Пожалуйста, предложите мне и предоставьте какую-нибудь полезную ссылку.
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:
С другой стороны, если под открытием вы подразумеваете открытие URl-адреса во встроенном браузере, вы можете использовать класс UIWebView.NSURL *url = [[NSURL alloc] initWithString:urlstr]; NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; // parse here [parser release]; [url release];
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"]; }