WebVeiw
iOS ์ฑ์์ HTML ๋ฌธ์๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ
- ์ฌํ๋ฆฌ ์ฑ์ ํธ์ถํ์ฌ ๋์์ฃผ๊ธฐ.
- WKWebView (iOS8 ๋ฒ์ ์ด์๋ถํฐ ์ง์๋จ.)
- SFSafariViewController
1๋ฒ์ ์ด๋ฏธ ๊ตฌํ๋์ด์๋ ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ๋ค. ํ์ง๋ง ์ฑ์์ ํฌ์ปค์ฑ์ด ๋ฒ์ด๋๊ฒ๋๋ค. ๋๋จธ์ง 2,3๋ฒ์ ๋ฐฉ์์ ์ฑ ๋ด๋ถ์์ ์น ํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์งํด์ฃผ๋ ๋ฐฉ์์ด๋ค. ์ด๋ ๊ฒ ์ฑ ๋ด๋ถ์ ๊ตฌํ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ธ์ฑ ๋ธ๋ผ์ฐ์ (In-App Browser)๋ผ๊ณ ํ๋ค.
์๋๋ UIWebView
๋ผ๋ ๊ฒ๋ ์์์ผ๋, ์ด์ ๋์ด์ ์ฌ์ฉํ ์ ์๋ค. (2020๋
5์๋ถํฐ)
์น๋ทฐ์ ์ฌ์ฉ ๋ฐฉ์
๋ค๋ฅธ View๋ค๊ณผ ๋ค๋ฅด์ง ์๋ค. ViewController์ ์ถ๊ฐํ๊ณ , ๋ธ๋ผ์ฐ์งํ URL ํน์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ธ์๊ฐ์ผ๋ก ๋ฃ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด ๋๋ค.
#1 ์ฌํ๋ฆฌ ์ฑ ํธ์ถ (Safari)
let url = URL(String:"https://www.naver.com/")
UIApplication.shared.open(url!, option: [:])
URLSession
URLRequest
๋ฅผ ์ฌ์ฉํ ๋๋ ATS์ค์ ์ ํด์ฃผ์ด์ผํ๋ค.
์ฌํ๋ฆฌ๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ Info.plist ํ์ผ์ ATS(App Transport Security)์ ๋ํ ์ค์ ๋ ํ์ํ์ง ์๋ค. ๋คํธ์ํฌ ํต์ ์ ๋ํด์๋ ์ฌํ๋ฆฌ ์ฑ์ด ๋์ ์ฒ๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
#2 WKWebView
WKWebView๋ WebKit์ด๋ผ๋ ํ๋ ์์ํฌ์ ์ ์๋์ด์๋ ๊ฐ์ฒด์ด๋ค. ๋ฐ๋ผ์ import๊ฐ ํ์ํ๋ค. ๋ณดํต ์นด์นด์ค๋ฑ์ ์ฑ์์ ์ปค์คํฐ๋ง์ด์ง๋ ๋ธ๋ผ์ฐ์ ๋ค์ WKWebVeiw๋ฅผ ์ฌ์ฉํ๊ฒ๋๋ค. ์ธ๋ถ์ ์ธ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํด์ผ ๋์ง๋ง, ๊ทธ๋งํผ ์์ ๋๊ฐ ์๋ ๋ฐฉ์์ด๋ค.
import WebKit
@IBOutlet var webView : WKWebView!
let url = URL(string: "https://www.naver.com/")
let request = URLRequest(url: url!)
self.webView.load(request)
#3 SFSafariViewController
SFSafariViewController
๋ ๋ทฐ๊ฐ ์๋๋ผ ์ปจํธ๋กค๋ฌ ๊ฐ์ฒด์ ํด๋น๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ UI์ ์ฝ์
ํ๋๊ฒ ์๋๋ผ(์คํ ๋ฆฌ ๋ณด๋์์์ ์์
ํ ๊ฒ ์๋ค๋ ์๋ฏธ) ์ฝ๋๋ฅผ ํธ์ถํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
import SafariServices
let url = URL(string: "https://www.google.com/")
let safariViewController = SFSafariViewController(url: url!)
present(safariViewController, animated: true, completion:nil)