openURL
Swift3 में पदावनत किया गया है। क्या कोई उदाहरण दे सकता है कि openURL:options:completionHandler:
url खोलने की कोशिश करने पर प्रतिस्थापन कैसे काम करता है?
openURL
Swift3 में पदावनत किया गया है। क्या कोई उदाहरण दे सकता है कि openURL:options:completionHandler:
url खोलने की कोशिश करने पर प्रतिस्थापन कैसे काम करता है?
जवाबों:
जो तुम्हे चाहिए वो है:
guard let url = URL(string: "http://www.google.com") else {
return //be safe
}
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
String
बदले पर उपयोग करना होगाURL
उपरोक्त उत्तर सही है लेकिन अगर आप canOpenUrl
इस तरह की जांच करना चाहते हैं या नहीं।
let url = URL(string: "http://www.facebook.com")!
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
//If you want handle the completion block than
UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
print("Open url : \(success)")
})
}
नोट: यदि आप पूर्णता को संभालना नहीं चाहते हैं तो आप इस तरह भी लिख सकते हैं।
UIApplication.shared.open(url, options: [:])
लिखने की कोई आवश्यकता नहीं है completionHandler
क्योंकि इसमें डिफ़ॉल्ट मान है nil
, अधिक विस्तार के लिए ऐप्पल प्रलेखन की जांच करें ।
अगर आप ऐप को छोड़ने के बजाय खुद ऐप के अंदर खोलना चाहते हैं तो आप SafariServices आयात कर सकते हैं और इसे काम कर सकते हैं।
import UIKit
import SafariServices
let url = URL(string: "https://www.google.com")
let vc = SFSafariViewController(url: url!)
present(vc, animated: true, completion: nil)
स्विफ्ट 3 संस्करण
import UIKit
protocol PhoneCalling {
func call(phoneNumber: String)
}
extension PhoneCalling {
func call(phoneNumber: String) {
let cleanNumber = phoneNumber.replacingOccurrences(of: " ", with: "").replacingOccurrences(of: "-", with: "")
guard let number = URL(string: "telprompt://" + cleanNumber) else { return }
UIApplication.shared.open(number, options: [:], completionHandler: nil)
}
}
replacingOccurrences
।
मैं macOS Sierra (v10.12.1) Xcode v8.1 स्विफ्ट 3.0.1 का उपयोग कर रहा हूँ और यहाँ ViewController.swift में मेरे लिए क्या काम किया है:
//
// ViewController.swift
// UIWebViewExample
//
// Created by Scott Maretick on 1/2/17.
// Copyright © 2017 Scott Maretick. All rights reserved.
//
import UIKit
import WebKit
class ViewController: UIViewController {
//added this code
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Your webView code goes here
let url = URL(string: "https://www.google.com")
if UIApplication.shared.canOpenURL(url!) {
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
//If you want handle the completion block than
UIApplication.shared.open(url!, options: [:], completionHandler: { (success) in
print("Open url : \(success)")
})
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
};