Info.plist फ़ाइल में मैंने कॉन्फ़िगर किया URL Identifier
और URL Scheme
सफलतापूर्वक। इसके अलावा, मैं कस्टम URL का उपयोग करके ऐप खोलने में सक्षम हूं। समस्या तब है जब ऐप पहली बार विधि लॉन्च करता है
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) does not call.
उपरोक्त विधि के आधार पर मेरी कुछ निर्भर कार्यक्षमता है। इसलिए जब पहली बार ऐप लॉन्च हुआ तो मैं अपने ऐप में कुछ भी नहीं देख पा रहा हूं।
इसके अलावा मैंने विधि में कोड जोड़ा
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let _ = (scene as? UIWindowScene) else { return }
let url = connectionOptions.urlContexts.first?.url
}
लेकिन मुझे यहाँ उर के रूप में उर मिल जाता है।
हालाँकि, यदि मेरा ऐप बैकग्राउंड मोड में है और मैंने URL को हिट किया है तो उपरोक्त विधि सफलतापूर्वक कॉल करती है और कार्यक्षमता पर काम करती है। निम्नलिखित scene(_:openURLContexts:)
विधि में मेरा कोड है sceneDelegate
।
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>){
let url = URLContexts.first?.url
let urlString: String = url!.absoluteString
if let urlComponents = URLComponents(string: urlString),let queryItems = urlComponents.queryItems {
queryParams = queryItems
} else {
print("invalid url")
}
guard let windowScene = (scene as? UIWindowScene) else { return }
self.window = UIWindow(windowScene: windowScene)
//self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let rootVC = storyboard.instantiateViewController(identifier: "LocationViewIdentifier") as? UIViewController else {
print("ViewController not found")
return
}
let rootNC = UINavigationController(rootViewController: rootVC)
self.window?.rootViewController = rootNC
self.window?.makeKeyAndVisible()
}
क्या कोई मुझे बता सकता है कि पहली बार उपरोक्त विधि क्यों नहीं बुलाती है?