İnfo.plist dosyasında yapılandırdım URL Identifier
ve URL Scheme
başarıyla. Ayrıca özel URL kullanarak uygulama açabiliyorum. Sorun, uygulamanın yöntemi ilk kez başlatmasıdır
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) does not call.
Yukarıdaki yönteme dayalı bazı bağımlı işlevsellik var. Dolayısıyla uygulama ilk başlatıldığında, uygulamamda hiçbir şey göremiyorum.
Ayrıca yöntemde kod ekledim
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let _ = (scene as? UIWindowScene) else { return }
let url = connectionOptions.urlContexts.first?.url
}
ama burada URL kadar sıfır alıyorum.
Ancak benim app arka plan modunda ve ben URL vurmak o zaman yukarıdaki yöntem başarıyla çağırır ve bağımlı işlevsellik iyi çalışıyor. Aşağıdaki benim scene(_:openURLContexts:)
yöntemde benim kod 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()
}
Birisi bana neden yukarıdaki yöntemi ilk kez aramıyor söyleyebilir?