여기 내 조건은 URL이 com://******/sendto/webview
에 포함되어 있으면 내 응용 프로그램 내부의 브라우저에서 열어야합니다. 그렇지 않으면 Safari에서 열립니다. 내가 뭘 잘못하고 있는지 알 수가 없어? 당신은 "제목"필드의 필터를 얻으려고하지만, URL은 공백 다음 제거 경우는 코드를 작동하고 그래서 여기 URL에 존재하지 않는 출원 된 때문에URLComponents 찾을 없음
if let url = homeObject["deeplink_url"] as? String, url != "" {
if url.contains("com://******/sendto/webview") {
if url.contains("?url") {
self.fixMalformedURL(url)
} else {
if let urlComponents = URLComponents(url: URL(string: url)!, resolvingAgainstBaseURL: true) {
let webViewTitle = urlComponents.queryItems!.filter({ $0.name == "title" }).first
let webViewURL = urlComponents.queryItems!.filter({$0.name == "url"}).first
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "FeaturedWebViewController") as! FeaturedWebViewController
vc.webViewTitle = webViewTitle!.value
vc.dynamicURL = webViewURL!.value
self.navigationController?.pushViewController(vc, animated: true)
}
}
} else {
UIApplication.shared.openURL(URL(string: url)!)
}
}
정확히 뭐가 문제 야, 매번 사파리에서 열리는거야? –
그것은 내게 가치없는 정보를 제공하고 내 앱이 그 때문에 붕괴되고 있습니다. 그것은 urlComponents에 관해서는 현금화하고 있습니다. @kirti 말리 –
@AbhijitHadkar 무엇이 당신에게 아무 가치도주지 않습니까? 귀하의 질문을 편집하여 kirti의 질문에 대한 답변에 초점을 맞추십시오. 그 것이 문제의 핵심입니다. – jpaugh