의 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이 없음으로 표시됩니다.
그러나 내 앱이 백그라운드 모드이고 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()
}
아무도 왜 위의 방법을 처음 호출하지 않는지 말해 줄 수 있습니까?
이 질문의 현재 상태는 무엇입니까? 답 중 하나가 문제를 해결 했습니까? 그렇다면, 그중 하나를 수락하십시오. 도움이 더 필요하십니까? 그렇다면 제공된 솔루션이 문제에 대해 수행 한 작업과 여전히 누락 된 부분을 설명 할 수 있습니까? 이 문제를 해결하게되어 기쁩니다
—
Muli