2009-11-01 14 views
23

मैं आईफोन में नया हूं। मैं अपने आवेदन में एक यूआरएल खोलना चाहता हूं। मैं यह कार्य कैसे कर सकता हूं? कृपया मुझे सुझाव दें और कुछ उपयोगी लिंक प्रदान करें।आईफोन: प्रोग्राम यूआरएल खोलें प्रोग्रामेटिक

उत्तर

12

अपडेट (2016): आजकल ऐसा करने का सबसे अच्छा तरीका एक SFSafariViewController को तुरंत चालू करना और प्रस्तुत करना है। यह उपयोगकर्ता को सफारी की सुरक्षा और गति देता है, और किसी भी कुकीज या सफारी सुविधाओं तक पहुंच प्रदान करता है जो वे पहले से ही आपके ऐप को छोड़ दिए बिना सेट कर सकते हैं।

आप सफारी में URL खोलने (और अपने अनुप्रयोग से बाहर) करने के लिए आप openURL method of UIApplication

उपयोग कर सकते हैं आप बल्कि यह अपने अनुप्रयोग के अंदर संभाला है चाहते हैं, तो चाहते हैं, WKWebView का उपयोग करें।

5

आप को खोलने के लिए और सिर्फ यूआरएल से डेटा प्राप्त करना चाहते हैं, तो आप NSString इस्तेमाल कर सकते हैं:

NSString *ans = [NSString stringWithContentsOfURL:url]; 

यदि आप प्राप्त करने के लिए कोशिश कर रहे हैं किसी URL से एक एक्सएमएल है, तो आप सीधे NSXMLParser का उपयोग कर सकते :

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

दूसरी ओर, यदि आप मतलब खोलने के द्वारा, एक एम्बेडेड ब्राउज़र में एक यूआरएल को खोलने पर आप UIWebView वर्ग इस्तेमाल कर सकते हैं।

76

स्पष्ट रूप से ऊपर दिया गया लिंक पुराना है। UIApplication कक्षा के लिए अद्यतन लिंक यहां दिया गया है।

त्वरित और आसान कोड स्निपेट है:

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

// Swift 
UIApplication.shared.open(URL(string: "http://www.google.com")!, options: [:], completionHandler: nil) 
3
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"]; 
      } 
संबंधित मुद्दे