मैं iPhone ऐप से सफारी कैसे लॉन्च कर सकता हूं?


127

यह एक स्पष्ट रूप से स्पष्ट सवाल हो सकता है, लेकिन क्या आप आईफोन ऐप से सफारी ब्राउज़र लॉन्च कर सकते हैं?

जवाबों:


200

निम्नलिखित होना चाहिए:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

क्या यह आपके ऐप की मेमोरी उपयोग की ओर गिना जाएगा? इसके अलावा, आपके ऐप पर वापस आने का एक अच्छा तरीका है (जैसे सोशल नेटवर्किंग साइटों में लॉगिन सुविधा)?
ब्रेंडन

1
@brendan मेरा अनुमान नहीं होगा क्योंकि मुझे लगता है कि 'वेबव्यू' सफारी एप्लीकेशन में लॉन्च किया गया है, इसलिए यह उस प्रक्रिया के अंतर्गत
आएगा

12
पहले के 5/9/09 उत्तर के दोहे
बरेट

2
@Barett: नहीं बिल्कुल वास्तव में, क्योंकि है कि एक 9/21/09 जवाब
Bergi

4
IMO एपीआई कॉल काफी समान है कि इस उत्तर को बेहतर या पूर्व उत्तर पर टिप्पणी के रूप में लागू किया गया होगा।
बेरे

52

UIApplication में OpenURL नामक एक विधि है:

उदाहरण:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
  NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

16

आप इसके साथ url को सफारी में खोल सकते हैं:

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

4

IOS 10 के साथ हमारे पास हैंडलर को पूरा करने की एक अलग विधि है :

उद्देश्य सी:

NSDictionary *options = [NSDictionary new];
//options can be empty
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success){
}];

स्विफ्ट:

let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}

2

शायद कोई स्विफ्ट संस्करण का उपयोग कर सकता है:

स्विफ्ट में 2.2:

UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)

और 3.0:

UIApplication.shared().openURL(URL(string: "https://www.google.com")!)

2

स्विफ्ट 4 और 5 में, जैसा कि OpenURL का मूल्यह्रास किया जाता है, इसे करने का एक आसान तरीका बस होगा

if let url = URL(string: "https://stackoverflow.com") {
    UIApplication.shared.open(url, options: [:]) 
}

आप भी इस्तेमाल कर सकते हैं SafariServices। आपके ऐप के भीतर एक सफ़ारी खिड़की जैसा कुछ।

import SafariServices

...

if let url = URL(string: "https://stackoverflow.com") {
    let safariViewController = SFSafariViewController(url: url)        
    self.present(safariViewController, animated: true)
}

हालांकि यह कोड स्निपेट प्रश्न को हल कर सकता है, जिसमें स्पष्टीकरण सहित आपकी प्रतिक्रिया की गुणवत्ता में सुधार करने में मदद करता है। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, और उन लोगों को आपके कोड सुझाव के कारणों का पता नहीं चल सकता है।
स्टीफन क्रैन

1

स्विफ्ट 3.0 में, आप इस वर्ग का उपयोग आपके साथ संवाद करने में मदद करने के लिए कर सकते हैं। ढांचा अनुरक्षकों ने पिछले उत्तरों को हटा दिया है या हटा दिया है।

आयात UIKit

कक्षा इंटर-कम्यूनिकेशन {
    स्टैटिक फंक ओपनुरि (_ URI: स्ट्रिंग) {
        UIApplication.sared.open (URL (string: URI) !, विकल्प: [:], पूर्णहैंडलर: {(succ: बूल) प्रिंट में ("पूर्ण सफलता!? (Succ)")}}
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.