내가 잘못하고있는 것이 아니라면 외부에서 직접 사파리 브라우저로 이동하지 않고 응용 프로그램에서 URL을 열고 싶습니다. 그렇다면 UIWebView을 사용해야합니다.
UIWebView 클래스를 사용하여 웹 콘텐츠를 앱에 포함 할 수 있습니다. 이렇게하려면 UIWebView 개체를 만들고 창에 첨부 한 다음 웹 콘텐츠로드 요청을 보냅니다. 이 클래스를 사용하여 뒤로 이동하여 웹 페이지 기록에서 전달할 수 있으며 프로그래밍 방식으로 일부 웹 웹 속성을 설정할 수도 있습니다.
WebViewController :
내가 (WebViewController라고 함)의 ViewController에있는 UIWebView를 추가하고 필요할 때의 ViewController을 제시하는 것이 좋습니다;
이 그것을 위해 스토리 보드 ID를 할당하는 것을 잊지 마세요 :의 ViewController는 스토리 보드에해야처럼 보인다.
그리고의 ViewController :
class WebViewController: UIViewController {
@IBOutlet weak private var webVIew: UIWebView!
var urlString: String?
override func viewDidLoad() {
if let unwrappedUrlString = urlString {
let urlRequest = URLRequest(url: URL(string: unwrappedUrlString)!)
webVIew.loadRequest(urlRequest)
}
}
@IBAction private func donePressed(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
}
사용법 :
class ViewController: UIViewController {
@IBAction private func donePressed(_ sender: Any) {
let stoyrboard = UIStoryboard(name: "Main", bundle: nil)
// withIdentifier: the used storyboard ID:
let webViewController = stoyrboard.instantiateViewController(withIdentifier: "WebViewController") as! WebViewController
webViewController.urlString = "https://www.google.com/"
}
}
또는 특별히 :
는 사용자가 다른의 ViewController의 버튼을 탭하면 당신이 그것을 제시 할 것을 고려 귀하의 사례 (셀 선택) :
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// withIdentifier: the used storyboard ID:
let webViewController = stoyrboard.instantiateViewController(withIdentifier: "WebViewController") as! WebViewController
webViewController.urlString = "URL GOES HERE..."
}
희망이 도움이되었습니다.
를 사용하여 시작되는, 잘 문서화 전송 보안 문제로 실행됩니다 WebView를 사용해야합니다 – iDeveloper
이것을 수행하기 위해 단지'URLRequest'를 사용하십시오. – zisoft
앱을 분석하려면 Google -Firebase- Analytics, Fabric을 사용하거나 이에 대한 고유 한 웹 서비스 구현을 작성할 수 있다고 생각합니다. 앱에서 더 효율적입니다. –